Hi,
My version ;) :
It looks like the page variable does not contain a reference to the proper Page object but holds a reference to the empty stub one.
The previous 'Browser.Run URL' command should wait for the page to load within the timeout (that defaults to 30 sec if you did not change it).
So I see two possible points to check:
a) Check that page is able to load within current timeout;
b) The URL specified for the 'Browser.Run URL' command is not the same as the one (displayed in the browser address bar) specified for the subsequent 'Set page = Sys.Browser("*").Page(URL)' line. If the second url differs, the page will not be found and the page variable will contain a reference to the mentioned empty stup object.
tristaanogre: VBScript is not case sensitive.