Sinnvoller wäre hier
Indy (TIdTcpClient) zu verwenden und echte Bytes zu schicken statt die in Strings zu quetschen... (Davon abgesehen von TClientSocket und TServerSocket nach Delphi 7 gar nicht mehr standardmäßig mit installiert, sprich sie sind veraltet.)
Vielleicht kommen die Bytes so gar nicht richtig an, auch wenn das bei Delphi 7 noch ein kleineres Problem war (ohne
Unicode).
In welcher Methode holst du denn die Antwort ab?