Laut meiner Kenntnis ist String deshalb fett, weil es auch eine Funktion ist
Das kann nicht der wirkliche Grund sein.
Eigentlich ist das in deinem Beispiel ein Cast, kein Funktionsaufruf. Da String (u.a.) aber Compilermagic nutzt, wird hinter den Kulissen mehr gemacht als bei einem Cast einfacher Typen. Semantisch ist es aber dennoch kein Funktionsaufruf, Casts sehen aber syntaktisch in Delphi genau so aus.
Wie der verlinkte Thread gut demonstriert ist der genaue Grund dafür nicht (mehr) wirklich offensichtlich. Ich schließe mich da aber der Theorie von dort an, dass es schlicht ein Relikt aus Zeiten ist, wo String und Array und File ziemlich die einzigen Typen waren, bei denen mehr passiert ist als stumpfes "interpretiere Register X als [Typ]", und diese daher eher als Sprachfeature galten. Würde man die Delphi Language heute erfinden, würde vermutlich keiner mehr auf die Idee kommen diese auf die Art hervorzuheben. Ein Fall von "ist jetzt halt einfach so"
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)