esta parte:
Código Javascript
:
Ver originalif(escAux!=""){
xField = document.getElementById("slcInst");
if(xField!=undefined) xField.value=escAux;
}
la tienes que mover dentro de:
Código Javascript
:
Ver originalif (ajax.readyState==4) {
...
}
Justo después de haber insertado el contenido obtenido del servidor. Recuerda que ajax es asíncrono por lo que el interprete no espera a que tu función carga_datos inyecte el contenido antes de ejecutar el if()
La razón por la que el error no aparece con el alert, es por que el alert detiene la ejecución de tu código y da tiempo a que el servidor mande los datos y estos sean inyectados en tu documento.
Eso es lo que yo creo que está sucediendo.