Seems to be the lack of unit identifier
The CSS spec requires that measurements have a unit identifier, such as px for pixels or pt for points.
It appears to be a case where Firefox just assumes pixels when rendering HTML but ignores the incorrect declaration when rendering in XHTML. This passes the W3 validator because the CSS validator is a seperate utility.
If you put ".div {height:20;width:100%;overflow:auto;}" into the CSS validator it kicks it out for not having a unit on the height.
Jay