Pues creo que el uso de auto es lo que te generaría el espacio, aunque no lo sabre hasta probarlo.
Por otro lado, para evitar estos conflictos:
Recuerda que puedes dirigir una propiedad CSS a IE6 anteponiendo un asterisco. por ejemplo
*margin:0 auto 0 auto;
Por otro lado, display block, no es una propiedad que yo le pondría a un elemento de por si de bloque.
A los div que agreges float, recuerda que es necesario además poner un div para evitar que se contraiga fuera del flujo de su contenido, por ejemplo:
<div style="float:left;">
-contenido-
<div style="clear:both;"></div>
</div>
Me apunto a intentar hacer tu pagina compatible con todos los navegadores
solo que ahora me voy a dormir.