Может быть так много ответов на этот вопрос - но одна очевидная проблема заключается в том, что вы немедленно вызываете unblockUI - и window.showModalDialog не будет блокирующим методом (так как javascript не поддерживает их) - он немедленно вернется.
Вы должны вызвать unblockUI в обработчике закрытия модального диалога.
Все это, конечно, предполагает, что методы работают так, как было объявлено вначале.