The problem is that in IE 8 my site looks great in XP and terrible in Vista. I'm not a Windows user, so I built the site while testing IE8 in an XP VM thinking that IE8 would be the same across browser versions, but that doesn't seem to be the case.
My first thought was default standards mode: that Vista was defaulting to IE6 mode for some reason, so I set this header on my server:
But that doesn't seem to have done anything. It still looks like IE6 is running inside the IE8 browser.
Using HTML Tidy in Firefox shows several warnings. One of the most important is the doctype, others include ids beginning with numbers. They should start with a letter.
I suspect that's the reason things are going wrong.
Try fixing the doctype and the warnings, a lot of problems between browsers are related to faulty code and incorrect doctypes.
Here's some good information on doctypes http://www.w3schools.com/tags/tag_DOCTYPE.asp