Эээ ... Батенька так всёж через одно место делаеться

.
(ещё код не проверял - открыл и решил начепятать

:)
Вот ты пишешь сервер без окон?
Я правильно говорю?
А фиг тебе!

. С окнами. С невидимыми.
Ты используешь класс Гдалевича "ССокет".
Он построен на асинхронных сокетах.
Создание асинхронного сокета подразумевает создание
окна для приёма сигнальных сообщений от системы про
статус оного. ЭТО ЕСТЬ ФИЧА асинхронных сокетов.
Т.е. - хотишь асинхронных сокетов - делай окно!
(можешь поверить на слово

- вариант - пройтись по МСДН.
Но я на сокеты делаю восновном на МАЗМе

))))
т.е. ИМХО я на них не одну собаку съел

)).
Поиск по коду ССокета:
Private Function CreateWinsockMessageWindow() As Long
Эта функ-ия создаёт такое невидимое окно.
В итоге - ты фигнёй страдаешь

.
Окна в проге будут. Хош ты того или не хош.
Другой вопрос - почему ты не хотишь делать окна.
Вариантов два:
1. Избежать таких нехороших прог как трассировщики невидимых окон.
Как я уже заметил - не выйдет

! (ну ... ТАК не выйдет

))
2. Размер проги.
Забудь! Бери UPX + Scrambler.
И делай себе окна.
Всё равно без них никуда

Виндовс как никак

)).
--
Насчёт кода

)))
Уже теперь я понимаю почему ты спрашивал насчёт мониторинга проги БЕЗ
процедуры анлоада

.
1. Баг про "занятый порт" будет только в ИДЕ Васика. При тестах
на откомпиленой проге всё ОК.
Почему так:
Потому что необходимо всё деинициализировать подсистему WSA в частности

.
Когда работает Винсок (компонент) - он эти ошибки САМ локализирует и устраняет. А
когда ты пишешь на АПИ то окна убиавать, сокет деинициализировать ты должен сам!
(если ты это делаешь в ИДЕ Васике). Если это прога, то винда подчищает за ней сама.
Тихо. Именно поэтому сама прога вылетает корректно - аосле перезапуска всё ОК.
2. Именно поэтому НЕЛЬЗЯ тормозить проэкт с ССокетом через "Стоп" в ВБ ИДЕ.
т.к. ИДЕ:
а) Работать уже корректно не будет.
б) Вылетит вскоре нафиг

.
3. Ты чё пишешь? Поменяемься идеями?

.
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...