If you're using standard asp.net user controls are you using the User Control webpart to place the user control on the page? If so, the webpart should take care of the lifecycle for you, thats its main purpose.
I've only had a need to create custom user controls for filters, otherwise I've always used webparts, they are much more configurable than standard asp.net user controls and you get to use the UI to vs. having to know what controls are being used in the file system.