Pues se me ocurren varias soluciones, pero como todo habría que ver como funcionan con el amigo IE...
Por un lado sería recomendable que uses la propiedad OnLoad de las imágenes.
Supongamos que tienes 5 imágenes (con id "img_" + el número de imágen), ejecutas el onload para chequear las que se cargaron, y por otro lado a cada imagen le colocas un campo hidden, con id (por ejemplo) "himg_" + el numero de imagen, y con value = 0.
for(d=1;d<5;d++){
imagen[d] = new Image();
imagen[d].onLoad = cargada(d);
}
function cargada(d){
document.getElementById('himg_'+d).value = 1;
}
Esto hará que una vez que se termine de cargar cada una de las imágenes, cada campo hidden se marquen en 1, por lo que los que queden en 0, serán imágenes sin terminar de cargar.
Luego con ayuda de un timer, al pasar por ejemplo un minuto , ejecutas una función para chequear cuales no se han cargado aún y forzar su carga:
function chequear(){
for(d=1;d<5;d++){
if(document.getElementById('himg_'+d).value == 0){
document.getElementById('img_'+d).src = 'imagen_'+d+'.gif';
}
}
}
Si quieres, en lugar de usar un hidden por imágen, puede almacenar todo eso uno solo en forma de string (por ejemplo 1/2/3/5), donde el número que falte será la imágen sin cargar.
Espero que te sirva.
Altareum.