Мы используем пакеты "Heartbeat" раз в секунду для контроля и поддержания соединения во время отсутствия активного обмена. Функция SysSockSend возвращает количество успешно переданных байт => можно ловить ошибки отправки.
Идея Ваша решает эту проблему и, видимо, без "пинговых" пакетов мне не обойтись. Попробую ловить ошибки отправки как Вы сказали.
И очень смущает, что SysSockConnect() не возвращает TRUE, хотя работает...