I think I would wrap all that inside an updatepanel so that the postback doesn't affect the rest of the page. These usercontrols are loaded dynamically and the timing of events may mean something is not getting initialized correctly in your control on postback as it reloads the control it is losing state. I would set breakpoints in the code and step through it both during non postback and during postback to find out exactly what is happening and at what point in the request.
Hope that helps,
Joe