First of all, make sure that the FileExists block really works the way it should. Try to place a Debug.Trace() call inside it and see if you get the message in the debug window. Also make sure that the Interface Tester (link in previous post) gives you no errors about your interfaces.
Other than that, I see no reason why it shouldn't work if you have a valid window.
