I was getting this error in the following case:
1. Have a grid of say 20 rows.
2. My active cell was on say row 10.
3. I would filter the grid down to something less than 10 rows based on a simple find feature I have.
4. This caused the error because the current cell address no longer existed.
Now you'd think the grid would be smart enough to move the current cell to something that is available - but it seems that it doesn't do this.
My fix is to just set the current cell to the first column and first row before changing the number of rows:
dgv.CurrentCell = dgv[0, 0];
That solved this problem for me.