Ich kann mir vorstellen, dass hier Probleme gibt:
Delphi-Quellcode:
while not(RecievedLn[i]='#')
do inc(i);
führt schnell zu einer Endlosschleife. Kleiner Tipp. Du kannst in Delphi auch den Programmlauf unterbrechen (Funktion: Pause) und dann per Aufruf-Stack (Strg+F3) schauen, wo er festhängt. Auf jeden Fall deutet alles auf eine Endlosschleife hin.
P.S: ClientSocket.Receiveln liefert nicht immer den kompletten String zurück (je nach dem wieviel Zeit vergangen ist). Dadurch könnte diese Endlosschleife entstehen.