Если в вашем datagridview нет флажков или пользовательских столбцов, вы можете просто на каждом шаге проверять, не все ли поля из последней строки не равны NULL или не пустые, а затем сделать пример AllowUserToAddRows = true
:
bool all_fields_completed=true;
for(int i=0;i<mydatagrid.Columns.count;i++)
if(String.IsNullorEmpty(mydatagrid.Rows[mydatagrid.Rows.Count-1].Cells[i].Value.ToString()))
all_fields_completed=false;
if (all_fields_completed==true) mydatagrid.AllowUserToAddRows = true;