Vorweg: Ich kenne diese spezielle
DLL nicht. Alles hier bezieht sich auf generelle Aufrufe von DLLs zur Kommunikation mit Hardware.
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.