¿Has probado la api setfocus?
Private Declare Function SetFocus Lib "user32" (ByVal hWnd As Long) As Long
¿Has probado a hacer la ventana "Siempre visible"?
Puedes hacerla siempre visible y luego dejarla de nuevo normal.
Código vb:
Ver originalPrivate Const conHwndTopmost = -1
Private Const conHwndNoTopmost = -2
Private Const conSwpNoSize = &H1
Private Const conSwpNoMove = &H2
Private Const conSwpNoActivate = &H10
Private Const conSwpShowWindow = &H40
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cX As Long, ByVal cY As Long, ByVal wFlags As Long) As Long
Sub SiempreVisibleOn(ByVal lhWnd As Long)
SetWindowPos lhWnd, conHwndTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpNoMove Or conSwpNoSize
End Sub
Sub SiempreVisibleOff(ByVal lhWnd As Long)
SetWindowPos lhWnd, conHwndNoTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpNoMove Or conSwpNoSize
End Sub
PD: Quizá tengas que quitar el conSwpNoActivate para que la enfoque. Yo siempre lo he usado tal cual.