漏れならプロパティ追加して回避する
MsgBoxで「はい」を押したときにTerminateが動いているから大丈夫だと思う
っていうか、Set MyForm = Nothing しなくてもきちんとTerminateは流れるなぁ・・・
まぁ、おまじない程度に考えて、あまり気にしないほうが(・∀・)イイ!
むしろ、Form上の何らかのボタンで画面が閉じられて、MyFormがNothingになったかどうか
IsNothing(MyForm)でチマチマ調べるのがメンドクセーと思う

--- Form1.frm ---
Option Explicit
Dim mblnNoExit As Boolean
Public Property Get NoExit() As Boolean
 NoExit = mblnNoExit
End Property
Private Sub Form_Load()
 mblnNoExit = True
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
 If MsgBox("--- 終了 ---", vbYesNo) = vbYes Then
  mblnNoExit = False
 Else
  MsgBox "--- 再開 ---", vbCritical
  Cancel = True
 End If
End Sub
Private Sub Form_Terminate()
 Debug.Print "Terminate"
End Sub

--- Module1.bas ---
Option Explicit
Sub main()
 Dim MyForm As Form1
 Set MyForm = New Form1
 MyForm.Show
 Unload MyForm
 If Not MyForm.NoExit Then
  Set MyForm = Nothing
 End If
End Sub