since I register with Ajax the new order of the columns to a session var every time a user moves them I basically ignore what the grid is keeping track of and have it constantly pull the order from the session as count is just 0->n it pulls the order of the session var every time it loads the data. I had to change this code for the table rows as well as the total line.
I have this almost completely functional now, users want to be able to drag columns off the grid and the column Divs get an 'X' over them and if they release it removes it from the grid similar to Outlook....sigh, give them a bunch of nice new features and they just want more. Isn't that what programming is all about?