Fällt mir so auf Anhieb nix weiter ein. Hier noch ein paar Dinge, die du versuchen könntest:
Wird der Link auch entfernt, wenn danach noch Text kommt? Wenn nein, einfach ein Leerzeichen dranhängen.
"Length(Text)" ist übrigens ziemlich ineffizient, nimm statt dessen lieber GetTextLen.
Wie setzt du denn die Links? Genauer gesagt: wie findest du aus der Position im "NewLine" die Positionen für SelStart und SelLength im RichEdit raus?
Könntest du statt "Lines.Add('')" auch einfach ein sLineBreak vor "NewLine" hängen? Also
Delphi-Quellcode:
SelStart := GetTextLen;
SelText := #13#10 + NewLine;