RE:Formulario dentro de un frame.
Prueba con el siguiente código
'En el formulario con el Frame
Option Explicit
Const WM_CLOSE = &H10
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long
Private Sub Form_Load()
Form1.Mostrar Frame1.hwnd
Me.Show
End Sub
Private Sub Form_Unload(Cancel As Integer)
SendMessage Form1.hwnd, WM_CLOSE, 0, 0
End Sub
'En el formulario que mostramos en el Frame1
Option Explicit
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Public Sub Mostrar(ByVal ParenthWnd As Long)
SetParent hwnd, ParenthWnd
Me.Show
End Sub