ну вообще-то курсор должен сместиться на запись, по которой клик был А так - можно расчитать. Только для этого надо получать доступ к приватным методам.
var Pt: TPoint; begin Pt := DBGrid.ScreenToClient(Mouse.CursorPos); if (Pt.Y > (TCustomDrawGrid(DBGrid).VisibleRowCount + 2) * DBGrid.DefaultRowHeight) then