Dans les grandes lignes, ce que je ferais à ta place:
Lorsque tu cliques sur auto, puis que tu éteins ton pc et que tu veux que le programme continue à s'exécuter à heure fixe, il faut que tu écrives dans la base de registre depuis ton programme (dans la cle run) (il y a des classes sous vb qui permettent de faire ça...au pire appel des API).
Cette clé exécute un processus (écrit en vb et compilé et indépendemment de ton programme) qui regarde l'heure toute les secondes (type boucle infini+sleep(ou un truc du style)) et qui dès qu'il voit la bonne heure exécute ton programme (avec un shell)
Le processus qui regarde l'heure et exécute ton programme se lancera à chaque démarrage de ton pc.
Il faut donc que tu crées aussi dans ton programme une option qui permet de supprimer le processus de la base de registre.