Диалоги не должны быть глобально модальными. Каждая современная ОС категорически не одобряет глобальную модальность в своем HIG, и они могут даже отказаться от функциональности (на что указывает тот факт, что вы не можете заставить ее работать). Ваше приложение должно никогда не красть события из всей системы; это не только плохой дизайн, он почти криминален в моей книге.
Игнорируя тот факт, что большинству людей нравится многозадачность между несколькими приложениями, как насчет сценария, когда вы открываете глобально модальное диалоговое окно, а затем ваше приложение зависает? Ctrl + Alt + Del должен работать в Windows, чтобы убить приложение, но я не уверен насчет Cmd + Opt + Escape на Mac с глобально модальным диалогом (у Cocoa даже есть глобальная модальность?). Ни на одной из платформ Linux нет хороших способов убить приложения, которые полностью контролируют пользовательский интерфейс, как вы предлагаете (вам придется полностью убить X11 и запустить новый экземпляр с нуля).
Мой ответ: найди другой способ. Мне все равно, о чем просит твой клиент, они этого не хотят.