Cambio linguaggio a runtime senza problemi in una mia applicazione... l' unico problema relativo al linguaggio è che il file di help visualizzato è sempre quello relativo alla lingua di Setup (salvata in My.Settings).
codice:
Private Sub BtnHelp_Click(sender As System.Object, e As System.EventArgs) Handles BtnHelp.Click
Dim Flag As String
Select Case My.Settings.Lang
Case "it"
Flag = "it"
Case "fr"
Flag = "fr"
Case Else
Flag = "en"
End Select
Debug.Print("Flag Help: " & Flag)
Help.ShowHelp(Me, Application.StartupPath & "\Hlp_" & Flag & ".chm", _
HelpNavigator.Topic, "intro.html")
End Sub
In Debug.Print posso verificare che Flag è corretta (cioè relativa all 'ultimo linguaggio selezionato e col quale vengono correttamente visualizzati Forms e messaggi).... ma il file di Help che viene visualizzato è sempre lo stesso: quello della lingua di partenza. 
C' è qualche cosa da azzerare o cosa?