TStrings/TStringList hält sich an die Speicherbedingungen für PChar (0-terminitere Strings aus
WinAPI/C++).
Eine "normale" Textdatei enthält eigentlich keine #0, aber ob und wie ein(e) Programm/Komponente die "Daten" in einer Datei interpretiert kann unterschiedlich sein.
TStrings/TStringList reagiert "standardmäßig" nunmal auf gewisse Zeichen, wie eben #0, #10 und #13, denn es verhält sie wie TMemo, dessen interne Windows-Komponente nunmal mit PChar arbeitet.