Excellent sleuthing work. The next thing I would do is to compare the actual HTML (the DOM) that is being generated when the Menu is placed inside the UpdatePanel (i.e., doesn't work in IE6) versus the HTML (the DOM) when the Menu is placed outside that UpdatePanel (does work in IE6).
I'm very suspicious that you'll discover that those DOMs differ in some significant way. For example, does the UpdatePanel add an extra DIV as a parent to the Menu?
Here's my uber-theory... I think you are running into the so-called "peek-a-boo" but in IE6. Read up on that by searching on the web. You'll find lots and lots of information about it. It generally has the symptom of content disappearing (though that content will sometimes reappear when you scroll the page up/down or right/left... trying sizing your window in the browser so it is tiny and scrolling in IE6 to see if you can get the menu to appear (when it is inside the UpdatePanel).
There are many prevailing theories on how to best circumvent the peek-a-boo bug but I tend to first simply try to add positon:relative to each and every parent above the Menu in the DOM until the bug goes away. If you are adding DIV tags as parents to the Menu by virtual of things like asp:Panel then you can force the position:relative by adding a CssClass to the asp:Panel and setting position:relative in the class you specified for CssClass.
This is why understanding the impact to the DOM of having the Menu inside the UpdatePanel versus outside of it. If you've added parent elements in the DOM to the Menu when it is inside the UpdatePanel then I bet you need to modify those parent's "position" property to get the menu to show up.
Russ Helfand
Groovybits.com