Here is sample that works as expected for me using the latest development build, 7.3.0.7. In earlier versions, you may have to call grid.InvalidateCells() after calling the MoveColumns to make sure the grid refreshes itself.
If you can upload a sample showing the problem, we can try track own the issue.
CS_8f62be96.zip