Well DC did not use the <DyanmicMenuStyle > in the category menu it used the following construct:
<LevelMenuItemStyles>
<asp:MenuItemStyle CssClass="categoryLevel1" />
<asp:MenuItemStyle CssClass="categoryLevel1" />
<asp:MenuItemStyle CssClass="categoryLevel1" />
<asp:MenuItemStyle CssClass="categoryLevel1" />
</LevelMenuItemStyles>
When I changed this to:
<DynamicMenuStyle CssClass="categoryLevel1" />
<StaticMenuStyle CssClass="categoryLevel1" />
I got close the sub-menus are now visible but I still need to tweak the styles to get them to appear as they did before.
I agree setting your website is not the proper solution but it is a good alternative for the short term.
What you risk if you don't get your website working correctly in IE 8 is, the user could set his browser to always render your site in compatibility mode, then even when your site is fixed that user having no way of knowing your site is now IE 8 ready will still view it in IE7 mode.
The reason the <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> works for Gaurav is his site is not using any external css files thus he does not have the issue of the ASP.NET inserting link elements ahead of the compatibility meta flag rendering it useless.
FYI - I do like the developer tools that come with IE 8. There may have been available for IE 7 as an add in but I never installed them. They come by default in IE 8.