El foco sólo se puede pasar si el control está activo y visible. Si la propiedad enabled es false, es normal que no pueda recibir el foco.
Además el datagrid tiene varias propiedades relacionadas con la tabulación que afectan al foco, estudia como se relacionan entre si.
Por ejemplo si la propiedad Tabstop del datagrid es false, cuando le envíes el foco al datagrid desde el textbox, el datagrid recibe el foco e inmediatamente lo pierde...
Puedes comprobarlo, crea un nuevo proyecto, añade un textbox y un datagrid, pon este código ejecuta el proyecto y escribe en el textbox:
Private Sub Form_Load()
DataGrid1.TabStop = False
End Sub
Private Sub Text1_Change()
DataGrid1.SetFocus
End Sub
Private Sub Text1_GotFocus()
MsgBox "el textbox tiene el foco"
End Sub
Private Sub DataGrid1_GotFocus()
MsgBox "datagrid obtiene el fco"
End Sub