Rather than using Focused, which I don't think works very well for Forms, try using Form.ActiveForm:
Dim frmCurrentForm As Form
frmCurrentForm = Form.ActiveForm
If Not frmCurrentForm Is Nothing Then
Dim action As Action(Of Form)
action = Sub(form)
Dim failedLoginForm As New Form2
failedLoginForm.setError("failed blah blah")
failedLoginForm.StartPosition = FormStartPosition.CenterParent
failedLoginForm.ShowDialog(form)
End Sub
If (frmCurrentForm.InvokeRequired) Then
frmCurrentForm.Invoke(action, New Object() {frmCurrentForm})
Else
action(frmCurrentForm)
End If
End If