Hola de nuevo,
 
Muchisimas gracias por tus respuestas y tu tiempo. He puesto la llamada al setup de shadowbox en mi funcion:  
Código:
 function FAjax (url,capa,valores,metodo)
{
          var ajax=creaAjax();
          var capaContenedora = document.getElementById(capa);
/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
if(metodo.toUpperCase()=='POST'){
         ajax.open ('POST', url, true);
         ajax.onreadystatechange = function() {
	         if (ajax.readyState==1) {
	         	capaContenedora.innerHTML="<p align='center'><font color='#336699' face='Verdana, Arial, Helvetica, sans-serif'>Cargando.......</font></p>";
	         }
	         else if (ajax.readyState==4){
			 	if(ajax.status==200){
		       		/*var scs=ajax.responseText.extractScript();    //capturamos los scripts
					document.getElementById(capa).innerHTML=ajax.responseText;    //eliminamos los scripts... ya son innecesarios
					scs.evalScript();       //ahora si, comenzamos a interpretar todo  */
	         		document.getElementById(capa).innerHTML=ajax.responseText;
	   			}
	   			else if(ajax.status==404){
		            capaContenedora.innerHTML = "La direccion no existe";
	            }
	    	    else{
	            	capaContenedora.innerHTML = "Error: ".ajax.status;
	            }
	         }
	         Shadowbox.setup(capa,{ width:640, height:480 });
  		 }
         ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
         
         ajax.send(valores);
         return;
}
  Y ahora me da un error en prototype: 
"element has no properties" en el fichero prototype.js linea 3796. Concretamente en esta parte del codigo de prototype.js  
Código:
 function getEventID(element) {
    if (element._eventID) return element._eventID;
    arguments.callee.id = arguments.callee.id || 1;
    return element._eventID = ++arguments.callee.id;
  }
  Alguna idea, voy a seguir investigando. 
Saludos!