This actually makes sense, though I haven't run into this issue until now.
For those of you who develop custom WebControls (composite ones specifically), I'm sure you've probably used the ClientID or UniqueID property of a child control when doing things like attaching javascript. What I didn't notice before is that you shouldn't access the ClientID or UniqueID property of any child control until it has been placed in the Controls collection of its parent. In fact, if you're building a hierarchy like putting a child control inside a panel and then the panel inside its parent, you should wait until the end to access these properties. What I've gotten accustomed to doing is placing all my javascript for my child controls or anything where I have to access these two properties, just before the CreateChildControls method is complete. That way you are sure to get the complete and proper naming for the controls. Like I said, this makes a lot of sense but I think in the past I just automatically placed this stuff where I was suppossed to.