Aber auch wenn ich eine ganz einfache Callback-Funktion erstelle, in der ich die Daten einfach in einem TMemo anzeigen lasse, tritt der Fehler trotzdem auf.
Mit Synchronize natürlich?
Hast du Fehler in deinen Threads denn auch schön ordentlich mit einem try..except außen herum abgefangen? Denn Exceptions in Threads, die nicht abgefangen werden, können sich genau so äußern. (Anderswo auch, aber in Threads ist das besonders schlecht.)
Und dann gibt es da auch noch Tools wie MadExcept oder Eurekalog, die solche Exceptions abfangen und dir mitteilen wo das Problem aufgetreten ist.