Your solution works but when I save the grid settings by GridSettingsPersister, that hidden column appears again. However revisiting the page hides that column because of the statements in pre-render.
I'm facing one more issue Princy. In one of my page I have a TemplateColumn (first column) with a hyperlink that opens a custom edit form. It actually hides when I revisit the page after saving the grid settings by GridSettingsPersister. It does not happen with other pages which use the built in GridEditCommandColumn...