Fropirate - Gaps are usually caused by an errant <p> or <br />
Rob_D - you should only be using one skin1 stylesheet. Is skin1.css hard-coded somewhere instead of using {$SkinDir}/{#CSSFile#} ? Also check you skin_c.css for missing semi-colons and closing brackets. Everything after that will be ignored, its amazing how important those things are.
My best guess about things moving off the screen is that usually there is something (a spacer.gif ?) between the "central area" and the "menu area".
Cyber Matrix - The reason Tidy is showing empty tags is that in reality they are... looking at the code...
"<b class="xtop"><b class="xb1"></b>class="xb2 color_a">"
both "<b>" tags are empty, but it is the class that is called that is important, and that is what makes it work. I would ignore Tidy on this one.