Grundsätzlicher Bug?
Warum wird SL.LineBreak beim Einlesen überhaupt "so" verwendet?
Wenn LineBreak irgendwass mit #13 und/oder #10 ist, dann gehören ALLE Arten von Linebreaks richtig behandelt, also egal ob #10, #13#10 oder #13.
Nur wenn LineBreak irgendwas ANDERES ist, dann explizit das zum Tennen suchen.
Ja, man könnte auch auch "Q" oder "," als LineBreak verwenden, aber eigentlich gehört sowas gefälligst ins DelimitedText.
Ob man nun auch #0 als Linebreak interpretiert oder zum kompletten Leseabbruch benutzt, daüber lässt sich streiten.
IMHO hat per se #0 in einem Delphi-Strings keine Bedeutung und sollte somit auch als normaler "Char" behandelt werden.