Una forma simple es la siguiente, tu FORM principal digamos que se llama PRINCIPAL, vas a crear un FORM que se llame REINICIO. En el momento en el que querés reiniciar le das así desde el PRINCIPAL:
Unload Me
Reinicio.Show
Y cuando abre la ventana de Reinicio le vas a dar en el Form_Load()
Unload Me
Principal.Show
No lo he probado, pero si te reinicia el programa, es como si se cargara por vez primera.
Nos vemos, suerte!!