Der Mainthread ist ja auch ein Thread und es könnte Zugriffskonflikte mit einem nebenläufigen Thread geben.
Also musst Du Zugriffe schützen oder alle Zugriffe aus Threads über Synchronize durchführen.
Bitte doch noch eine Ergänzungsfrage: Sind die globalen Variablen durch kritische Abschnitte, die das Werteschreiben "umhüllen", für zusätzliche Lesezugriffe bereits ausreichend geschützt, oder sollten / müssen diese Lesezugriffe auch noch durch krtische Abschnitte geschützt werden? (Hier vermute ich, daß das Schützen des Schreibens bereits ausreicht.)