В случае Internet Explorer такой hack не работает. Если необходимо, могу позже выложить сообщения консоли. Но модальные окна в IE прекрасно открываются без какого-либо потока.
Затем я пытаюсь открыть еще одно окно из модального, и тут начинаются проблемы. Число открытых окон и число handle-в в драйвере не совпадает.
Попробуйте pywinauto - с хэндлами работает нормально. Я на питоне писец никакой, вот на диске завалялось несколько скриптов - когда-то, много лет назад, провально пробовал автоматизировать приложение на инфраджистике. pywinauto, конечно, уже не помню, но судя по коду, омжно брать окна и верхнего, и не только уровней через FindWindow или FindWindowEx:
from pywinauto import application
from pywinauto import findwindows
import time
app = application.Application();
wnd = app.connect(title_re = "our world-wide known app");
frm = app.window_(title_re = "our world-wide known app");