Sag das doch gleich.
Irgendwer ist vor Jahren auf die wirkich saublöde Idee gekommen und verwendet in StringReplace das
AnsiPos, welches im Windows wiederum das
StrPosLen (PChar) benutzt, anstatt
Pos zu verwenden.
Jetzt rate mal, was der Unterschied zwischen einem Delphi-String mit Längenangabe und einem Windows-PChar mit Endezeichen ist und was dann passiert, wenn ein gewisses böses Steuerzeichen im String vor kommt.
Der Bug wurde schon vor sehr vielen Jahren gemeldet ... ich würde nicht mehr mit einem Bugfix rechnen.