Du möchtest sicher darauf hinaus, dass man das in den Mainthread synchronisieren muss.
Aber ich glaube die Lösung mit TThread.Synchronize(TThread.CurrentThread ... funktioniert nur bei System-Exceptions. Also raise E; und nicht raise
Exception.Create();.