Grundsätzlich können solche Dinge schon passieren, wenn man auf
GDI-Objekte wie TBitmap oder TCanvas fälschlicherweise mit mehreren Threads parallel zugreift. Aber da du Synchronize verwendest, sollte es hier eigentlich zu keinen Problemen kommen.
Doch, kommt es! Alle
Win32-Ressourcen (Und TCanvas, TBitmap verwenden solche) sind nur im Erzeugenden Thread gültig. Alle Aktionen mit diesen müssen im erzeugenden Thread erfolgen.
Und die
VCL baut hier (aus verständlichen Gründen) keinen Threadschutz um den Zugriff herum.
Die sporadischen Fehlermeldungen sind eigentlich nur Zufällig funktionierende Zugriffe.
Windows Vista - Eine neue Erfahrung in Fehlern.