Was soll denn bitte das mit den Nullen?
Ich dachte du wolltest entfernen und nichts willd überschreiben.
PS: Bei einem leeren Text im Richedit kann das schnell mal knallen, wenn du versuchst die Standardkonstante für einen leeren PChar zu überschreiben.
TrimRight oder
EndsStr mit Copy/Delete?
Oder du leitest das RichEdit ab, überschreibst WM_GETTEXTLENGTH und WM_GETTEXT und gibst dort den gewünschten Text raus, denn TMemoStrings (die Klasse hinter .Lines) greifst darauf zu,, bzw. auf RichEdit.Text.