Weil viele Webseiten von einem Linux-Server ausgeliefert werden, bzw. oftmals der Output, vor dem Ausliefern auf die Linux-#10 "optimiert" wird. (weniger Bytes)
Und bei diesen Codes vergessen wurde, daß doch mal jemand auf die "blöde" Idee kommen könnte HTMLs in einem Windows-Format auszuliefern.
#$A#9 ist eigentlich ein Fehler, aber damit wollte man wohl verhindern, daß bei #13#10 ebenfalls ersetzt wird, was aber nur zutreffen würde, bei allen Zeilen, welche nachfolgend mit #9 anfangen und wenn man das Nachfolgende StringReplace weggelassen hätte.
Stattdessen entweder vorher schauen, ob #13#10 schon vorliegt und dann nichts machen,
oder einfach immer folgende Ersetzungen durchführen.
#13#10 -> #10, danach #13 -> #10 und zum Schluß #10 -> sLineBreak.
Man kann es auch ganz einfach mal schnell durch eine TStringList jagen, welche dann zum selben Ergebnis kommt, wie meine genannte Ersetungsreihenfolge.