Zwykle DataSet podaje Ci numer rekordu (recno) i ilość rekordów (recordcount).
Natomiast row i rowcount związane jest z kontrolką i określa odpowiednio numer wiersza w widoku oraz ilość rekordów widzianych w tej kontrolce.
Nie znam tego rozwiązania, które przedstawiłeś, ale wydaje mi się podobne do bodajże CMDBGrid (autorstwa CrLab.com, a później przekształconego w devart.com - w każdym razie na bazie wolnego kodu) - w związku z tym przypuszczam, że ewentualny problem ze zliczaniem ilości rekordów (jeżeli moja powyższa uwaga nie zadziałała) może dotyczyć opcji "LIMIT" w zapytaniu lub podobnego ustawienia we właściwościach Query (UniQuery, MyQuery, IbQuery itp.) lub stosowaniem filtrów (mogących być filtrami dla wyników uzyskiwanych dla DataSet, albo samego grida, które przechowując wartości może potrafić je niezależnie filtrować).