Dies kann ich mir gut vorstellen.Der Punkt ist, dass viele Delphi Nutzer String dafür genutzt haben Rohdaten zu speichern, die keine Stringdaten sind. Mit der Einführung des CodePage Aware AnsiString (welche bei Zuweisungen eventuell Konvertierungen durchführen) und der Umstellung von String auf UnicodeString konnte dies jedoch zu Problemen führen. Also wurde TBytes eingeführt, welcher den Hauptvorteil von String hat, nämlich die Speicherverwaltung, aber letztlich zur Speicherung von Rohdaten geeignet ist.
Also nein, TChars wäre falsch (und noch dazu ist in aktuellen Delphi Versionen Char = UnicodeChar).
Mit einer dynamischen Array arbeitet es sich leichter als mit PChar und PByte.
Das String heutzutage Unicode lastig sind, hat nicht nur Vorteile.