Ok, veamos
En un poco más simple de lo que quizá pareciera entender el por qué del comportamiento que observaste.
Primero, Lo que incluyes en el archivo NO se manda a la segunda página y los parámetros si por que los parámetros están dentro de un objeto contextual que existe para cada página. En este objeto se hacen referencias a las variables de servidor y a los objetos Session y Request, cuando tu utilizas Server.Execute o Server.Redirect creas una instancia nueva de este objeto y por ende a los mismos valores, pero si te das cuenta el código de la página "origen" no se involucra en estos objetos.
Server.Transfer según tengo entendido no crea un nuevo objeto, sino que apunta al mismo de la página "origen" y es más rápido por esto mismo que un Response.Redirect, al igual que este último no regresa el control a la página que lo llamó a diferencia de Server.Execute.
Espero me haya dado a entender.
PD. Tienes razón en ASP 2.0 no existen ni Transfer ni Execute, pero habían
métodos para emularlos