A theory suggests that as the ViewState
is loaded between Page_init and Page_load, the value you get during Page_init is not from a loaded viewstate, and if you set it, it is probably going to be overridden when the framework actually loads it in the following step on the page life cycle.
You could try loading your controls initially by overriding the CreateChildControls
method.