Ein üblicher Fehler bei solchen Umsetzungen ist eine fehlende oder falsche Angabe der Calling Convention. Wenn die
DLL in C geschrieben ist, vermutlich "cdecl". Aber das hast Du vermutlich schon überprüft.
Ansonsten könnte es evtl. sein, dass Du in Callbacks die
VCL aufrufst. Da die Callbacks in einem anderen Threadkontext als dem des Hauptthreads erfolgen können, sollte man das definitiv nicht tun.
Klar, cdecl ist drin. Wie geschrieben, die Grundfunktionen laufen grundsätzlich, auch in Schleife mit x Durchläufen. Erst, wenn ich das ganze im fertigen Programm zusammenpacke und an verschiedenen Enden gleichzeitig Sachen passieren, dann knallt es.
Ich habe jetzt auch versucht, die Ergebnisse des Callbacks in eine Queue zu schreiben und per Timer abzuarbeiten, jetzt knallt es wieder an ganz anderer Stelle, wo vorher nie Probleme auftraten.