Hola de nuevo 
Luis10, veo que vamos avanzando hacia donde queríamos: 
He podido comprobar que mientras IE guarda el valor de clip así: 
rect(0px 0px 0px 0px)
Firefox lo almacena con comas: 
rect(0px, 0px, 0px, 0px)
De modo que hay que hacer split por 
"px" ó por 
"px,", y tú sólo lo hiciste por 
"px" simple. 
Lo que he hecho es, simplemente, convertir las comas existentes en nada (osea, eliminar las comas si las hubiere):  
 Código PHP:
    var vectorRecorte = objeto.clip.split("rect(")[1].split(")")[0].replace(/,/g, "").split("px"); 
    
  Y he podido comprobar que funciona bien tanto en IE como en FF.    
También he notado que si pulsamos 
Abrir capa y mientras está animando pulsamos 
Cerrar Capa, no se va a cerrar inmediatamente, va a esperar a que se abra. Se puede solucionar cómodamente agregando una variable global al sistema (la he llamado 
animando), y llamando a los 
setTimeout's que animan de esa manera. Antes de establecer un 
animando comprobamos si ya se estaba ejecutando otro: 
Tanto en 
AnimarRecorte(): 
 Código PHP:
        if(animando) clearTimeout(animando);
    animando = setTimeout ("AnimarRecorte()",50) 
    
  Como en 
RestaurarImagen(): 
 Código PHP:
        if(animando) clearTimeout(animando);
    animando = setTimeout ("RestaurarImagen()",30) 
    
  
Y ya verás que va todo como la seda. 
Un saludo.