Hola 
Miguelso23: 
Lo que está ocurriendo es que la función 
error y la variable 
error se llaman de la misma manera. Recuerda que las funciones también son variables y no pueden llamarse de la misma manera. 
Me dió error también en IE.  
 Código PHP:
    function mostrarError(mensaje) {
    var error = document.getElementById('error');
    error.style.display = "block";
    error.innerHTML = mensaje;
    setTimeout("error.style.display = 'none'",2000);
} 
    
   Código HTML:
 <button type="button" onclick="mostrarError('hola, qué tal')">El mensajito</button>
<div id="error"></div>  
Saludos.