Indy macht leider viel Unsinn mit Zeichen oberhalb von 127. Daher ist IndyTextEncodingASCII zu vermeiden. Grundsätzlich bietet es sich an, die Sachen mit AnsiString oder RawByteString zu machen, aber da WriteLn ja für Text ist, ist der genaue Typ hier egal. Delphi wandelt das um.
Man könnte auch einen DeinString: RawByteString nehmen, um Absatzzeichen ergänzen und diesen dann mit
IOHandler.Write(TBytes(DeinString))
oder
IOHandler.WriteBuffer(DeinString[1], Length(DeinString))
senden.