В VB6 у вас есть возможность запустить программу, запустив форму или вызвав некоторую глобальную подпрограмму «Main» (в настройках проекта). Выберите этот последний вариант (глобальная основная подпрограмма).
В вашей глобальной основной программе сделайте что-то вроде этого:
Public Sub MyMain()
On Error Goto errHandler
frmMain.Show
Exit Sub
errHandler:
Unload frmMain
Resume
End Sub
Resume
будет перезапущен с той же строки, которая вызвала ошибку, и, поскольку на самом деле есть только одна строка, он всегда будет загружать одну и ту же форму.
Предполагается, что у вас есть основная форма с именем frmMain
и что она может успешно пройти через подпрограмму Form_Load
.