Danke, euch allen.
Ich habe die String-Behandlung jetzt komplett auf den TStringhelper umgestellt.
Und einige coole Abkürzungen bietet der auch noch.(Split & Joyn Hallelulja, EndsWith, Startwith, Trim(['"']) usw.)
MeinString.Chars[0] liefert ja auf allen Plattformen das erste Zeichen usw.
Indy war kein so großes Problem wie angenommen. Auf das Encoding des Servers habe ich keinen Einfluss, aber wenn man es als AsciiEncoding empfängt liefert Readln im Client dennoch einen brauchbaren Unicodestring.