This happens because you use the unit percent in your width.
For exemple, on a 1400px width screen, 0.2% represents 2.8px. As it's not an integer most of the browsers will use 3px and 2px in order to respect the width. If you have a look in IE6 or 7 you will see that all your li are same width because those old browsers are always making a mathematical rounding starting 0.5 with no respect to make sure that 50% + 50% will not get wider or thiner then the total width.
"Imagination was given to man to compensate for what he is not;
a sense of humour to console him for what he is." -Francis Bacon