It is because you are using width:100% and IE simply treats that differently than other browsers.
The menu writer really has a requirement to use fixed width submenus by defining the exact width.
If you won't have another menu level under it, you may have some workarounds that could work for you.
One thing you can try is simply remove the width attribute entirely instead of using width:100%
if that doesn't work you might be able to change the LI tag to display:block
If neither works, I would suggest defining an exact width. This is the only solution that would allow another level of menus, since it needs to know the width of the first level to position the second level properly.