Hola:
Solo para contribuir con el tema de conversación.
Yo prefiero usar la técnica de 2 files. Una para interfaz gráfica (.aspx) del usuario y la segunda para la interfaz funcional (aspx.vb); de esta mánera tanto el diseñador gráfico como el desarrollador manejaran archivos distintos y no interferian uno con el otro; ademas de ser el código mas limpio para cada uno de ellos (el diseñador solo vera código html y el desarrollador VB o C#).
Si manejas visual studio .net el manejo de 2 archivos por página aspx será transparente para el desarrollador y no lo veo como un desorden.
Creo que antes de reutilizar un aspx.vb para distintas páginas seria mejor llevar ese código comun a un clase y utilizarla en las paginas donde se requiera (manejo de libreria.) o tener una clase base con los metodos comunes y sea heredada por las demás páginas.
Los web services son ideales para comunicar fuentes de datos de distintas plataformas. Es como usar COM+ pero el dominio seria INTERNET en vez de una LAN, además que los datos son transportados bajo SOAP (Soportado por muchas plataformas) en vez de DCOM (Solo microsoft).
y lynx te recomendaria que no trataras de desarrollar en asp.net tal y como lo harias en asp porque si bien es posible hacerlos existen otras formas recomendadas para efectos de reusabilidad, escalamemiento, mejor mantenimiento, etc.
por ejemplo:
siguiendo el ejemplo de vgarary; la página aspx. hereda la clase webform1 (Inherits="Test1.WebForm1), por lo tanto tienes acceso a la función definida dentro de esta clase y podrias usar los metodos y funciones de este dentro del aspx de la siguiente manera.
<% if bMayordeedad(20) then %>
Eres mayor de edad
<% else %>
No eres mayor de edad
<% end if%>
Este código funciona pero seguirias bajo el punto de vista de asp y la idea de asp.net (.net en general) es no mezclar las capas de negocio.
Finalmente solo es una opinion personal y como dice vgaray estamos aqui para compartirlas y sacar provecho a cada una de ellas.