Thanks for the suggestions Gary.
With the VSMEvent, did you mean 'VSMEvent.Page.ExecuteOnLoadPageHandler();'? I can't find any references to 'RegisterOnLoadPageHandler'. However, again this is called from within the Load() function, which completes before my custom functions, so it would also be overridden.
I also tried using the eInitialized event but still no good! I confirmed that the function is executed, but there's still something that's reverting it back.