A word to the wise. Make sure you know all about pbShowAllRefindErrors. I didn't, and it cost me well over an hour of head-scratching*

From the help:

If you are debugging, a possible refind record error you should start by setting the pbShowAllRefindErrors property to True. You may also wish to place a breakpoint on the cWebView OnRefindRecordError event.
Because here's the problem. If you don't know about this - like me - you might find the situation where you're trying to navigate to a view but the diddly-darn thing just isn't opening. Eventually you find the event OnNavigateForwardRefindError and spot that it is calling NavigateCancel because it couldn't initialise the view's DDO objects correctly. But all this happens silently with no on-screen clues .... unless .... pbShowAllRefindErrors ..... DOH!

I think I might just set this to True right now.

(* throwing things, banging my head on the keyboard, muttering some fruity words, etc)