First of all, do you really mean DataGrid or do you actually mean DataGridView? They are two different controls and the DataGridView basically superseded the DataGrid from .NET 2.0.
As for the question, why do you have to do anything? Let's say that you have 10 rows numbered 1 to 10. If you then remove row number 5, you are left with rows 1, 2, 3, 4, 6, 7, 8, 9 and 10. If you continue to swap those row numbers then won't it keep the rows ordered as you want just as before? It's only the relative values that matter so having a gap somewhere will make no difference. You could put gaps in yourself in the first place and it would still work, e.g. if you were to use numbers 1, 10, 100, 1000, 10000, 100000, etc, then you could still reorder the rows by simply swapping those numbers because the relative order of those numbers would still be the same as if they were sequential.