Заголовок обновления официально не стандартизирован. Это означает, что каждый браузер может реализовать его по-своему. Я бы порекомендовал использовать обычный HTTP-корпус, например:
Response.AddHeader "Refresh", "10; url=" & url2
[Отредактировано, чтобы отразить новую информацию от автора]
В противном случае, похоже, нет проблемы, хотя, если она все еще не работает, я подозреваю, что ASP.NET может удалить заголовок в другом месте для своих собственных целей.