The red "White Gap" top menu item displays the problem in both IE6 and IE7.
The purple "Space Fix (not!)" item shows what appears to be a fix. By adding a single space after each menu text string, the menu shows no gaps. However, on mouseover in IE6, the menu operation still fails. In IE7 this fix works, however even if it worked in all versions of IE it would be hard to recommend in any case because it relies on managing white space that could easily be unintentionally changed.
The green "Width Fix" shows the best solution I've come up with. Simply moving the width spec from the <li> element to the <a> element closes the gaps, and causes the menu to work
The final orange menu item "Inline Width" is simply a demonstration of the same success fixing the problem whether the width spec is applied in the stylesheet or inline.
Have read on at least one site that the problem can be fixed by applying a -3px margin to <li>. I tried that, and may have done it wrong, but for me it fixed the appearance, but not the function. (http://css-discuss.incutio.com/?page=InternetExplorerWinBugs)
It has also been suggested that keeping the entire <li> element on a single line with no breaks can fix the problem. I have not tested that