I finally nailed this one. In addition to the my previous css class, I also added the following in skin.css to deal with FireFox compatibility issue. Of course you'll need to do the same for menu active and selected class.
.MainMenu_MenuItem_New {
width:100px;
height:26px;
background-color: transparent;
display:block;
border:0;
}
According to W3C, width should only be supported in block-level tags, not in-line tags. Firefox sticks to this rule but IE seems to violate this rule by enforcing width for any tag. To get around this enforced rule in FireFox, one must turn a tag into block-level and that can be done by using "display:block". One characteristic of the usage of this display tag is that it will add a line break above and below, causing line misalignment if declare inside a <td> tag. So I place it in the main class instead.
My fixed-size menu buttons now work in both IE and Firefox. Cheers.