CDialog::OnClose()は、ウィンドウがESCキーで閉じられたときには呼び出されない。 そのため、終了処理をここに書くと実行されないことがある。
CDialog::OnDestroy()なら大丈夫。