Die Frage ist nur wo sollte man die Initialisierung aufrufen bzw Uninitialisieren.
Jedesmal wenn ich ein neues ComObj erstelle und wieder freigebe ?
Nein.
CoInitialize - jedesmal wenn Du eine neue Thread Instanz erstellst
CoUnInitialize - kurz bevor der Thread terminiert
PS:
Com muss in multithread Umgebungen auch entsprechend initialisiert werden ...
CoInitializeEx(nil, coinit_multithreaded)