Спасибо за код, но мне кажется, что если пользователь просто закроет поп-ап кно, то у вас свалится эксепшн, который словится и ничего не произойдет, так как у вас в catch пусто. Возможно стоит обработать эту ситуацию тоже?
Да, можно проверять объект win на существование. Хотя и без этого не будет ничего страшного. Просто останется лишний таймер на странице до перехода на другой URL.
Pop-up авторизации ВКонтакте для протокола OAuth 2.0