Actually, I think it rather has to do with the different float models of IE and FF. Try to give your #frame some background color and you will see what is going on.
When a div has explicitly set width IE incorrectly increases the height to contain floats. FF correctly lets floats stick out (partially or even completely) from the bottom.
Thus the space at the top in FF is actually the bottom margin of #top.