Ciao credo di aver capito e risolto 
Allora, nel form di impostazione dello sfondo, nella routine button_click ho inserito un paio di righe che salvano il percorso dell'immagine selezionata in un file config.txt.
Ricordati di inserire Imports System.IO in alto, prima di ogni altra riga.
Codice:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim strCurrentDirectory As String = Directory.GetCurrentDirectory
Dim dig As OpenFileDialog = New OpenFileDialog
dig.Filter = "file immagine |*.jpg|*.jpeg|*.bmp|*.pgn|*.dib|*.gif|*.jpe|*.jfif|*.tif|*.tiff|*.*"
dig.Title = "Selizionare l'immagine"
dig.ShowDialog()
PictureBox1.Image = System.Drawing.Image.FromFile(dig.FileName)
File.WriteAllText(strCurrentDirectory & "\config.txt", dig.FileName)
End Sub
La routine Form1_load ora verifica se esiste un file config.txt e, se esiste, ci legge il percorso dell'immagine di sfondo.
Ci vorrebbero dei controlli Try e Catch e altre sofisticherie, ma così funziona
Anche qui in alto, a inizio codice metti Imports.IO
Codice:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim strDirectory As String = Directory.GetCurrentDirectory()
Dim strBackground As String
If File.Exists(strDirectory & "\config.txt") Then
strBackground = File.ReadAllText(strDirectory & "\config.txt")
PictureBox20.Image = Image.FromFile(strBackground)
End If
Timer1.Start()
Timer2.Start()
Me.WindowState = FormWindowState.Maximized
If My.Settings.attivazione = 1 Then
Button23.Visible = False
End If
End Sub
Un consiglio generico: al prossimo progetto, dai nomi comprensibili a ogni form, oggetto e variabile usando la notazione che preferisci. Usando i nomi standard tipo form1, form1, eccetera alla fine non ti ci ritrovi più!
Complimenti per il progetto, veramente simpatico