Nur, was man dadurch verliert: Die schönen Helper-Funktionen für eingebaute Typen wie Integer, String usw.
Man kommt durch casten natürlich trotzdem an die helper:
ShowMessage(String(Caption).Substring(3));
Nur halt nicht direkt, das ist sicher richtig.
Auf was? Ein Caption ist ein String ist ein String ist ein String.
Übersetzungen,
Unicode bevor es integriert wurde, ...
Möglichkeiten gäbe es viele...