Al final creo haber descubierto que si el IE da un error de que no puede cargar la página y hay un error de javascript de acceso denegado, es porque se carga antes el frame del menú que el frame principal.
Con este código al final del script del menú se soluciona:
Código:
//mientras no este cargada la pagina del frame principal no se carga el menu...
function precarga(){
if(parent.frames["principal"].document.readyState == "complete"){
clearTimeout(tiempo);
//cuando esté cargada la principal se cargará el menú.
inicio();
}
else{
tiempo=window.setTimeout('precarga()',500)
}
}
window.onload=precarga;