Please look at your task manager cpu usage - before you run this loop.

And then after as well - running your app - running in the loop

...but stopping the reply from ever happening!!!

change your code to this

Code:
    Private Sub WaitForPageLoad()
        AddHandler whatbrowser.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)        
        While 1=1 ' Not pageready 
                      ' fake the loop into running forever         
            Application.DoEvents()        
        End While        
        pageready = False    
    End Sub
What does the cpu do?

If it spikes - well - you are not allowed to do that. Even for 10 ms