Так, ну в Autodesk писать тут смысла нет от слова "совсем".
Зачем изобретать модальность на функциях winAPI я так и не понял, когда есть метод ShowDialog.
Убираем самописную модальность через EnableWindow(hWnd, false) / EnableWindow(hWnd, true) и всё работает, есть небольшая трабла с enabled/disabled кнопок на вкладке (не блокированием!) (старая тема, никак не поправят), решается, например, так:
uiDoc.Selection.SetElementIds(new[] { anyValidId });
uiDoc.Selection.SetElementIds(new List<ElementId>(0));
Ну, если так уж хочешь оставить как есть, вот тебе хинт - если перед тем, как загружать семейство, вызвать TaskDialog, то проблем нет, т.е. можно попробовать создать своё модальное (нормально модальное) окно, которое будет сразу же само загружаться, то, возможно, заработает. Но, наверное, лучше не городить костылей, вызывать ShowDialog(), тут и лишние external event-ы не нужны