Make sure you are not wiring up events twice.If you have AutoEventWireup="true" in the .ascx but are wiring up events also in the code then it can cause the page load event to fire twice and this can cause strange results.
Also you may need to add this line of code to your page load event
Page.EnableViewState = true;
Hope it helps,
Joe