Dumm nur wenn viele diese Aufgerufenen Funktionen gar nix davon wussten das 1 Zeichen != 1 Character/1Byte ist und dann munter fehlhaft Funktionierten sobald Sonderzeichen im String vorhanden sind.
Wenn vorher alles korrekt implementiert wurden wäre, dann hätte eine Umstellung keinerlei Probleme bereitet.
Und es ist kein Delphiproblem, denn auch in anderen Programmiersprachen wäre es so gekommen, wenn man da sowas umgestellen würde.
Wenn man dynamische Typen (Integer, Char, String) als statisch nutzt, dann soll man sich nicht beschweren, wenn sie sich mal ändern und der Code dann nicht mehr ordentlich läuft.