CheckSynchronize ist nur notwendig, wenn man den Code, der synchronize aufruft (in einer nicht-
VCL Anwendung) nicht unter eigener Kontrolle hat.
Also wie im konkreten Fall gegeben. Er benutzt Komponenten, die synchronize benutzen und kann (oder will?) die nicht anpassen.
Ansonten würden ich auch eher Critical Sections empfehlen.