Hi David
>Destroy() events trigger from outermost to innermost container. Grid.Destroy() fires as it destructs, all the columns are still objects that can be interrogated for their current position and width that you can put in your data store for that info.
I just tried to find out the columncount on the grid.destroy I got a zero, is that okay, at that moment under the debugger I could see all the columns.
Maybe I am sleepy <g>.