Основная причина - имеющийся TCP.pas плохо переносит постоянное создание и удаление сокетов, которое бывает в динамических мультиках.
Ещё предлагается такое изменение hiTCP_Client.pas
#pas
0: _hi_OnEvent(_event_onRead,integer(buf^));
1:
begin
SetLength(s,Count);
CopyMemory(@s[1], buf, Count);
_hi_OnEvent(_event_onRead,s);
end;
2: _hi_OnEvent(_event_onRead,real(buf^));