>>455
・すでに標準ブラウザが起動しているかどうかチェックするために
 ShellExecuteがDDEメッセージをブロードキャスト
・WaitForSingleObjectで終了を待っているためメッセージに
 応答できない
・タイムアウトまでロック

という筋書きかと。
 対策としては
1. 終了待ち専用のスレッドを作る。
2. MsgWaitForMultipleObjectsを使う。
お好きなほうをどうぞ。