Hi Charles, Great post - thanks very much for doing all of that debugging and writing such an informative response. I didn't have chance to set up test pages for this at the moment and now I may not need to. :)
I should have thought of this as it has come up a few times... the cause of the problem is the IE z-index bug. There's plenty of info about it but, basically, a workaround for IE is to apply an appropriate z-index value to the menu's ancestor element that is a sibling to the ancestor of the element that is covering the submenus (and possibly to all those other elements in the chain also). This makes the layering order very explicit and appeases IE. Cheers Joel Birch.