>MyDlgProc内のイベント処理は、hWndであるが為になんとメインウィンドウにメッセージが来たときの処理になってる。
もっと具体的に言うと、
IDCANCEL:IDOK:IDC_RADIO1:IDC_RADIO2:IDC_LIST2:がメインウィンドウへのメッセージとして処理するが、
各イベント処理でやってることは、MyDlgProcの処理になっている、さらにこれらのIDとメインウィンドウのIDが幸いぶつかっていない。
WM_INITDIALOG:が来てもメインウィンドウはすでに立ち上がっているので、おそらく処理しないのだろう。
したがって、この中でやるはずの
hMain = GetParent(hDlg);
はやらないことになるから、当然後ろのInvalidRectする相手hMainは存在しないから、ダイアログボックスのフォーカスも再描画されない。