Решение:
А разница в том, что Response.Redirect отправляет ответ браузеру, а Server.Transfer просто начинает обрабатывать другую страницу в рамках того же запроса.
Примечание: если что-то передаешь в куки – то надо вызывать так:

Response.Redirect("~/customer/profile.aspx", false);
FormsAuthentication.SetAuthCookie(UserName.Text, persist); // после response

 
Иначе будет ошибка

Опубликовано в ASP.NET