Die #0 stört nicht, aber dass der halbe Text fehlt ist vielleicht etwas schlimmer.

(seit Delphi 2009)
Jupp, die bösen Jugendsünden bestrafen Einen immer wieder.

Einfach aus String ein AnsiString machen und aus #13#10 ein sLineBreak.
Und da wir "nette" Programmierer sind, wird auch noch aus GENERIC_WRITE, 0 ein GENERIC_WRITE, FILE_SHARE_READ.
Die
WinAPI hatte hier den Vorteil, daß die Fehlerbehandlung etwas "sanfter" reagiert, also vorallem ohne Exceptions.
Ein Therapeut entspricht 1024 Gigapeut.