Con tutta probabilità il problema è legato al famoso bug di IE che nel caso un oggetto abbia sia float right che margin-right impostati il margine destro risulta raddoppiato.
Proav a togliere il margin da ciò che è float e vedi se tutto è ok.
Io poi metterei anche un width:100% al BODY.
Ciao!
C'è anche qualche piccolo difetto nel css e nell'html, verifica la validazione...