Что вам нужно сделать, это обработать событие Error TClientSocket, потому что именно здесь вы сможете фиксировать ошибки вашего сокета.
Параметр ErrorCode - это код ошибки WinSock.
Если вы хотите отключить Error, вы можете установить ErrorCode на 0, что предотвратит выдачу исключения, и после этого вы сможете определить, что это за ошибка, и обработать ее так, как вы хотите
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
var error : Integer;
begin
error := ErrorCode; {prevent exception from being thrown}
ErrorCode := 0;
if error = 10049 then
showmessage('asynchronous socket error');
.
.
.
end;
Надеюсь, это поможет
Гаэтан Сири