Quello che hai scritto è corretto.
C'è quindi qualcosa che non va nella logica.
Come primo impatto mi vengono in mente 2 strade da verificare:
1) La proprietà "CausesValidation" deve essere impostata a True, altrimenti non esegue il codice (ma se dici che senza le righe aggiunte andava, credo sia già True)
2) Cambiando il contenuto di TextBox1 si verifica dinuovo l'evento TextBox1_Validating... il programma dove continua? Non credo dalla riga successiva, ma dall'inizio (confesso che non mi è stato mai chiaro come concetto, quando si verifica 2 volte lo stesso evento).
La seconda volta quindi, essendoci un IF potrebbe non passare per TextBox1.SelectNextControl. Prova a metterlo quindi fuori dall'IF, tanto in ogni caso dovresti passare comunque ad un altro controllo.