Is there a < selector in CSS? I know about the > selector, but I've never heard of a < one.
In any case, if you hover over a child element, you should still be hovering over the parent, pretty much by definition. I'm not sure it's possible to create a second hover state for an element whose children are being hovered over, but the first hover state should be maintained. Eric Meyer's
Pure CSS Menus demo depends on this phenomenon.
So basically, what you need to do is apply your styles to #id:hover as though that were the only element. Even when you hover over its child UL, you're still hovering over the LI, because the UL is inside the LI. You can then style the UL by itself. This may require some interesting rearrangement of your CSS properties, but in the end it should work.
Oh, and it's worth keeping in mind that none of this will work in IE/Windows unless you're using something akin to the IE7 JavaScript routines. If that's OK with you then go right ahead, but it's something you should be aware of.