Ich selbst habe dafür die nötigen Fenster rein über die
API erstellt. Dann sind die nämlich threadsicher und ich kann von mehreren Threads aus problemlos über Events auf die
GUI zugreifen ohne diese zu synchronisieren.
Allerdings ist das natürlich nicht gerade der Weg, den man in Delphi gehen möchte...
Insbesondere, wenn man das Ganze unter FMX aufzieht um verschiedene Zielplattformen anzusprechen.