TEvent ist eine direkte Kapselung der Event-
API. Der Unterschied könnte im WaitFor-Aufruf liegen. TEvent kann man mit zwei verschiedenen Warteroutinen verwenden:
CoWaitForMultipleHandles (UseComWait = True) und WaitForMultipleObjectsEx (UseComWait = False)
Ich rate dir daher das WaitFor mit der vorher bei dir verwendeten Implementierung zu vergleichen.