Instead of End use a procedure

VB Code:
  1. Public Sub Unload_AllForms()
  2. Dim udoForm As Form
  3.  
  4.    For Each udoForm In Forms
  5.       Unload udoForm
  6.    Next
  7. End Sub

Also, make your startup relative to one procedure, eg Sub Main()

VB Code:
  1. Public Sub Main()
  2.    If App.PrevInstance Then
  3.       Unload_AllForms
  4.       Exit Sub 'just in case
  5.    End IF
  6.    frmSplash.Show vbModal   'unloads after 10 secs or user click
  7.    'execution continues after frmSplash hhihdden or unloaded
  8.    frmMain.Show vbModeless
  9.    'Execution continues even if frmMain not hidden unloaded cause its shown modeless
  10.    'Other startup algo if applicable
  11. End Sub

Showing frmMain modal would prevent Sub Main() from finishing.

VB Code:
  1. Private Sub frmSplash_Load()
  2.    TimerUnload.Interval = 10000
  3.    TimerUnload.Enabled = True 'Set to false in design time
  4. End Sub
  5.  
  6. Private Sub frmSplash_Click()
  7.    Unload Me
  8. End Sub
  9.  
  10. Private Sub timerUnload_timer()
  11.    Unlaod Me
  12. End Sub