Anyone have any idea when and why Page.OnLoad() executes twice in the ASP.NET lifecicle?
Do you have any controls with AutoPostBack set to true ? That will cause the Page object to be recreated and therefore the PageLoad method will execute again.