Use this DOCTYPE so that IE6 will render the box model properly
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Contrary to initially reported claims, IE 6 does NOT conform to Standards with the strict XHTML doctype. I have been fighting IE 6 to behave for 2 years.
Among others, it does not support min-width, max-width; you need to muddy your clean code by using "conditional comments.
It is nearly impossible to help you without seeing the rest of your css and in context within a webpage. IE is very strange when it comes to "cascading" and can handle it differently than a real browser. It also uses its own defaults for items you don't actually put in your css (like a:visited).
But, a problem I had for ages was trying to specify and use all fixed widths and px sized fonts.
A part of your problem could be using em font sizes within a fixed width container or vicea versa.
Try either using flexible containers or fixed fonts.
Assuming your #menu is the content and #menuwrap is the container:
border-right: 2px solid #999999;
border-bottom: 2px solid #999999;
border-left: 2px solid #999999;
border-right: 1px solid #ff0000;
border-bottom: 1px solid #ff0000;
border-left: 1px solid #ff0000;
The other problem you are having is that you do not specify a width for your div:
Paddings, Margins, Borders are the big killers in any IE; it is the dreaded "box problem" in a nutshell. But here you are designating a flexible padding! YE! GADS! IE is going to go to town with that! Since you haven't designated a width for the DIV IE's flex padding is going to determine it for you.
I would love to see what you are trying to do with this. If it works in real browsers but blows upin IE, then the fix is right at your fingertips.