Die Aufrufkonvention hat absolut garnichts mit den Speichermanagern zu tun.
Dann bastel Dir mal eine .dll mit Funktionen die Input/Output : String haben.
Nutze keinen Speichermanager.
Irgendwann wirst Du feststellen das die Strings fehlerhaft sind.
Bindest Du dann den Speichermanager in .dll und .exe ein, sind alle Strings auf magische Weise repariert. (<- objektive Aussage)
Vielleicht handhabt Delphi das jetzt mittlerweise anders (?), aber zu Delphi 6/7 war es ein arges Problem für mich gewesen!