cox, it seems you don't fully understand ViewState, i know this point is mute because we never have to worry about it anymore, but...
In asp.net, when a page is built during a postback, each control gets its own viewstate which gets populated with the defaults of the control (defined by attributes), then they get overwritten by the declarative properties (as defined in the aspx page). THEN the viewstate gets deserialised from the postback and the properties get overwritten again. then trackchanges is called and the rest of the lifecycle happens yadda yadda then the viewstate gets serialised back and output into the hidden field on the page.
So even if you remove the viewstate postback, you still get a control where all the properties are either default, or as declared on the aspx page, or overwritten in code behind.
They still work without viewstate, or at least, they would if they didn't explicitly require it (because viewstate is needed to respond to certain events.)
Now you know, and knowing is half the battle.
because KNOWLEDGE is POWER