Si tienes en explorer varios divs con float:left (supongo que dará igual si es left o right), en el caso de que tengas en el mismo div un float:left y un margin-left:NNpx el margin se va a multiplicar por 2 en explorer. Así, como suena. Es la cosa mas rara que he visto en muchisimo tiempo, pero es cierto. float:left y margin-left en el mismo estilo de un div, se escogorcian.
Ejemplo práctico: (cambio los tags por [ e ] para ir mas rapido):
[div id="top5">
cosa
[!-- restaurante 1 -->
[div style="width:255px;height:39px;
background-image:url(images/fondo_restaurantetop.png);margin-top:45px;
margin-left:20px;float:left;"]
Esto se verá así en Firefox:

Y así en Explorer:

Como se puede apreciar, en explorer, el margin no es de 20px, sino de 40!
Despues de pegarme un monton de rato con este problema, la solución consiste en sacar el estilo float:left a otro div que contenga el que tiene el margin-left. De esta manera hay dos elementos tipo bloque (los dos div) y no interfiere uno con otro.
[div id="top5">
cosa
[!-- restaurante 1 -->
[div style="float:left;"]
[div style="width:255px;height:39px;
background-image:url(images/fondo_restaurantetop.png);margin-top:45px;
margin-left:20px;"]

