Se me hace que aquí el problema es de conceptos...
Include incluye un archivo, cualquiera que este sea y lo hace parte del código en cuestion, por ende, el peso de tu ASP como tal, sera mayor, por ende, la ejecucion secuencial de tu codigo será mas lenta(tiene más lineas que leer), cuantos mas include tengas, código directo o no.
Execute, realmente es un método dinámico, solo que no entiende lo que vive fuera de él, se pueden tener includes condicionados, tanto como execute condicionados, siendo este segunco método mucho más eficiente que el primero.
Ahora, por qué no lo he usado salvo en contadas ocasiones?
Simplemente porque realmente no es necesario(en la mayoría de los casos) tener que llamar a un archivo dinámicamente, si lo mismo se puede lograr con código estructurado.
Ahora, volvemos al tema del server.transfer:
Cita: Server.Transfer acts as an efficient replacement for the Response.Redirect method. Response.Redirect specifies to the browser to request a different page. Because a redirect forces a new page request, the browser makes two requests to the Web server, so the Web server handles an extra request. IIS 5.0 introduced a new function, Server.Transfer, which transfers execution to a different ASP page on the server. This avoids the extra request, resulting in better overall system performance, as well as a better user experience.
fuente:
http://msdn.microsoft.com/library/de...38c2a61317.asp
Así rápidamente en una búsqueda en Google, lo dice MS, no lo digo yo basado en mi experiencia con este método.
Realmente, la gran única diferencia radica en que el transfer, no hará una llamada más HTTP, como lo apunté en su momento, eficientando por supuesto tu aplicación. De nuevo, si la premisa es que ejecutas liberas, tampoco un redirect lo hace, pues conserva la vida de las variables de sesion y de aplicación, que son vitales en el desarrollo web...
Respecto a la propiedad referrer, realmente me gustaría ver por lo menos un link donde se indique que "tiende a fallar"
Salu2,