He probado una cosa y funciona, pero me gustaría que me dierais vuestra opinión:
 
A la hora de cargar la pagina ASP en el XMLHttpObject, busco en todo el contenido de esa página, los bloques <script language='javascript'>...</script>. Y cada vez que encuentra uno, a través del DOM, lo meto en la etiqueta <head> de la página principal (la que tiene la capa contenedora). No es muy ortodoxo pero me funciona a la perfección. 
Os explico un poco el contexto. En sí es un menú de una aplicación y quiero que el acceso a cualquier parte sea con AJAX; con lo que la página principal tiene el menú y la capa contenedora, donde cargaría todas las páginas ASP de cada opción del menú. 
Volviendo al tema, las dos únicas pegas que le encuentro son: 
- Que en la etiqueta <head> de la página principal no puedo meter ningun script de javascript (así que los meto en el body).
- La otra pega es que cada vez que pinche en una opción y actúe el AJAX, tengo que limpiar todas los scripts de la etiqueta <head> antes de cargar la nueva página. 
Os dejo el código del Javascript por si le queréis echar un vistazo, me gustaría conocer opiniones :P.  
Código:
 function cargarContenido(url, parametros)
{
	var cadena;
	var aperturascript = "<script language='javascript'>";
	var cierrescript = "</script>";
	var x;
	var cabecerapagina = document.getElementsByTagName('head')[0];
	
	//Limpiamos los scripts de la cabecera
	x = 0;
	while (cabecerapagina.childNodes[x])
	{
		if (cabecerapagina.childNodes[x].tagName.toUpperCase() == 'SCRIPT')
		{
			cabecerapagina.removeChild(cabecerapagina.childNodes[x]);
		}
		else
		{
			x++;
		}
	} 
	////
	ajax = nuevoAjax();
	url = url + parametros;
	ajax.open("GET", url,true);
	ajax.onreadystatechange = function()
		{
			if (ajax.readyState==4)
			{
				cadena = ajax.responseText;
				contenidopagina = cadena;			//Metemos en una variable el contenido entero de la página puesto que jugaremos con la variable "cadena" despues
				
				while (cadena.indexOf(aperturascript) != -1 && cadena.indexOf(cierrescript) != -1)
				{
					var script_pagina = document.createElement('script');
					script_pagina.setAttribute('type', 'text/javascript');
					script_pagina.text = cadena.substring(cadena.indexOf(aperturascript) + aperturascript.length, cadena.indexOf(cierrescript))
					cabecerapagina.appendChild(script_pagina);
					
					cadena = cadena.substring(cadena.indexOf(cierrescript) + cierrescript.length);
				}
				contenedor.innerHTML = contenidopagina;
			}
		}
	ajax.send(null)
}
  Un saludo 
