I didn't look too deeply into this, but I am assuming that Firefox's behaviour is correctly showing what you don't want, and IE is incorrectly showing you wht you DO want.
To get the drop-down to 'expand' to fill the available space, something like:
#smenu ul li a {display:block;....}
might do it. It causes the Selector ("#smenu ul li a") to be 'shrink wrapped'. This takes up all available space, -like it does in IE.
But like I said, -I just glanced at your code and did not try it..
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." Brian W. Kernighan
Bookmarks