Steve,
You should be able to do a GO TOP and a this.parent.parent.Refresh() to get the grid to display the way you want.
The code I've got makes an attempt to keep the grid row the same, because the jumping around caused by the index changes got to be pretty annoying.
>I have a double click event on the header creating an index and sorting the grid ok but now I need the record pointer to be at the top of the grid so the user doesn't have to scroll back to the top every time.