Oh...and I just found out the problem I faced is called the IE 6 double margin bug. And display:inline is supposed to fix it.
I guess thats the trick to making it versatile?
It'll get rid of doubled margins, lawlz.
IE6 doesn't always double them (the margins in the direction of the float on the side of the container's edge get doubled) but the display: inline should always be safe, because no browser will listen to that line on anyone you've got floated (you have to say float:none first to get display: inline to actually do anything).
And I also think that CMSs should just return raw values and not mess with the display.
You mean, keep the markup separate from the back-end code who's generating it? Many many many people agree with you.
Because of my reaction when I saw OSCommerce' HTML markup, we did not use it : )
If you are able to switch, though, there are much more decent CMS' out there (who are also free). As I recall, Expression Engine is not free but it's not hideously expensive either and because you pay, you do get support. Everyone's been waiting for version 2, which I guess is out now.