I just tried your suggestion. Here is the conclusion. You are right classes do update fairly well when adding controls as long as NO TYPEDEFS are used. Originally I had a strict tyepdef in the class data and any adding or removing of controls, even a simple numeric at the end of the control would error the whole load and just yield null data for everything. But if I disconnected everything from the tyepdef it worked.
But that isn't useful, because you have to have typedefs in your class data for classes to be useful. Otherwise any time you change anything about the class data you have to change the same thing by hand on every single initialize or getdata type of method!