Könnte es evtl. ein Problem mit der String-Codierung sein?
Ansonsten würden mir noch Records einfallen, die mit falscher Ausrichtung verwendet werden.
Den Tip, dass ganze erstmal aus einer Delphi-Anwendung heraus aufzurufen, halte ich für eine sehr gute Idee.
Baue auch gerade eine 32Bit Delphi
DLL auf 64Bit um, da ist aktuell ehr das Problem, dass die Doku des aufrufenden 64Bit Programms nicht vorhanden ist, und ich so aus der 32Bit Doku 'Datentypraten' spielen darf.