CheckSynchronize ist nur notwendig, wenn man den Code, der synchronize aufruft (in einer nicht-
VCL Anwendung) nicht unter eigener Kontrolle hat. (Zum Beispiel wenn man nur DCUs und nicht den Sourcecode hat.
Wenn der Thread "weiss", dass er kein synchronize braucht, ist auch CheckSynchronize nicht notwendig, sondern nur Overhead (bzw. eine Lösung für ein Problem, dass man ohne synchronize nicht hat).
synchronize ist so etwas wie das GOTO (oder with) der Delphi Threadprogrammierung.
IMHO. Ok, ich verwende es in eigenem Code - aber mit einem 'if ...' davor