Ja, du hast im Hauptprogramm jetzt eine echte Prozedur und keine Methode mehr.
In der
Dll ist TCallbackProc doch explizit als stdcall deklariert, vermutlich weil du die
Dll nicht Delphi-spezifisch machen willst. Wenn du jedoch weder stdcall noch register, pascal, cdecl oder safecall schreibst, wird automatisch register genommen. Mit anderen Worten: DllAufruf im Hauptprogramm hat die Aufrufkonvention register, die
Dll will aber stdcall haben. Folglich musst du DllAufruf einfach als stdcall deklarieren.