Ecco la versione corretta, tratta appunto dal libro di F.Balena "I trucchi di Visual Basic 6":

codice:
Private Sub Timer1_Timer()
   Static c As Control
   On Error Resume Next
   If Not (c Is ActiveControl) Then
      Set c = ActiveControl
      c.SelStart = 0
      c.SelLength = Len(c.Text)
   End If
End Sub
La routine funziona perfettamente (anche se la logica non e' proprio immediata !), ed un valore opportuno di Timer1.Interval e' 100.

Spero faccia al caso tuo, ciao !!!!