O problema é que o IE coloca borda nos objetos no seu interior e o FF no seu exterior.
Apenas adicionei um hack no #corpo com o _width:760px;(754 + 2*(3px de borda) ) o css do corpo ficou assim entao:
#corpo { border:3px solid #464646; width:754px; _width:760px; position: absolute; left: 50%; margin-left: -377px; }