¡Hey brother! No tenés ningún form! ;)
Por otro lado:
Cita: Si te fijas en algo curioso en el código HTML generado por el ASP...
cuando la página se carga la primera vez, el html viene con el select con todos los paises, pero en el estado y la población viene vacío. Eso está bien.
El asunto es que cuando cambias el país, aunque aparecen los estados en la lista, cuando miras el HTML generado continúa igual, es decir, no muestra la lista de estados. Es eso normal? No debería ser el código fuente HTML un reflejo fiel de lo que estás viendo en el navegador?
Es perfectamente normal. No olvides que estamos hablando de ajax. El html originario nunca se actualizó realmente, así que al ver el código fuente siempre verás el mismo html. La generación de los otros select's se "debe producir" en memoria.
Meté todo dentro de un form y volvé a probarlo