Mira a ver si asi:
If oDataHoraEntrada.Tables("Presencia").Rows.Count = 0 Then
Grabar.ControlHoraEntrada(sComan, Me.TextBox1.Text, Me.HoraEntrada.Text, Fecha, MesActual)
MsgBox(Me.Nombretxt.Text & " " & "ha entrado a las" & " " & Me.HoraEntrada.Text)
Else
If oData.Tables("Presencia").Rows(0).Item("Salida") Is DBNull.Value Then
If oData.Tables("Presencia").Rows.Count > 1 Then
Grabar.ControlHoraEntrada(sComan, Me.TextBox1.Text, Me.HoraEntrada.Text, Fecha, MesActual)
MsgBox("La última vez que salió, no insertó la hora de salida. Por favor hable con su superior")
Else
Grabar.ControlHoraEntrada(sComan, Me.TextBox1.Text, Me.HoraEntrada.Text, Fecha, MesActual)
MsgBox(Me.Nombretxt.Text & " " & "ha entrado a las" & " " & Me.HoraEntrada.Text)
End If
End If
End If
De todas formas no me parece muy fiable, pero es que tampoco se en que registro vas a grabar la salida...
Tampoco entiendo porque haces dos consultas iguales a la BD...
En fin, si asi te sirve, pues adelante
Salu2