Can I add empty rows at the end of the grid after the last record?

You could override GetRowCount like this:

ROWCOL CDaoQueryView::GetRowCount()
{
   return CGXRecordWnd::GetRowCount() + 
      GetGridRect().Height() / GetDefaultRowHeight()
}