Unload frm_Mainした後に
DXEndFull frm_Mainの
フォームのハンドル取得で再度呼び出されてる
これが終了しない原因

>>206でもあるように全て開放が完了していれば
ENDでも良いけど、そのへんが微妙なので極力使わない方がいい

書くとすればこうかな
If Game_Main Then
DXEndFull frm_Main
ShowCursor True
Set dd = Nothing
Set dx = Nothing
Unload frm_Main
Exit Do
End If

で、最後のENDは消す

Initは初期処理ということで
メインループはMainの中にあるほうがいいかな