Se le immagini sono nella stessa directory del file html prova a modificare come segue:
	codice:
	var onsrc = "./image1.gif";
var offsrc = "./image2.gif";
 
Inoltre metti un alert (caro vecchio debugger...):
	codice:
	var pos = newSrc.indexOf('image1'); 
alert(pos);
 
credo che il problema sia nell'assegnazione temporale dell'attributo src da parte di IE.
Per evitare puoi mettere un multiswitch all'interno dei comandi condizionali.
es:
	codice:
	function cambiaIMG(id)  {
var onsrc = "image1.gif";
var offsrc = "image2.gif";
var newSrc = document.getElementById('idimg'+id).src;
var pos = newSrc.indexOf('image1');
var elToChange=document.getElementById('idimg'+id);
     if(elToChange.actualImg==1){
          elToChange.src = onsrc;
          elToChange.actualImg=1
     } else {
          elToChange.src = offsrc;
          elToChange.actualImg=2
     }
}
 
ovviamte devi preimpostare la proprietà personalizzata actualImg per ogni immagine.