A mi me pasaba lo mismo con un MSHFlexGrid, pero me imagino que dará igual. Este es el código que le he añadido, espero que te sirva.
El Msh será tu DBGrid
Private Sub Msh_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Integer
If Button = vbRightButton Then
For i = 2 To Msh.Rows
If Msh.RowPos(i - 1) < Y And Y < (Msh.RowPos(i - 1) + Msh.RowHeight(i - 1)) Then
´Está en los límites que definen la posición de la fila i
Msh.Row = i - 1
Msh.ColSel = Msh.Cols - 1
End If
Next
End If
End Sub