Der IE neigt dazu den Margin in floatrichtung nach links und rechts zu verdoppeln, wenn in diese Richtung nur noch der Rand des Elternelements ist.
also benoetigst Du einen IE Hack. Der faellt in diesem Fall aber erschreneknd simpel aus:
Gib dem Float noch display:inline und gut.
Per Definition gibt float einem Element immer 'block' und wird auch nicht von 'display' beeinflusst ausser mit 'none'. Damit haste gueltiges CSS, das auf allen Browsern funktionieren sollte.