Yo creo que un DataGrid NO TIENE REGISTROS, tiene filas (Rows):
El número de filas las defines tú al "dibujar" el formulario, y lo único que puedes averiguar es el Row en que está situado el puntero...
El número de registros se corresponde con el Recordset que alimenta al DataGrid, es decir Adodc1.Recordset.RecordCount: ése es en realidad el número de filas con datos que tiene el DataGrid.
Repito que ésa es mi idea, aceptando, por supuesto, opiniones más autorizadas, como se dice rutinariamente en los informes periciales...
Saludos