Your page code seems to ignore the CSS in some cases, or at least contains pointless HTML in several other areas, and it also has two closing and odd opening <body></body> tags so I'm not surprised that things break horribly in some browsers.
If you're running with an HTML table then it seems pointless including a <div></div> tag to put your footer content into.
Basic anatomy of an HTML web page is as follows:
Note that I've left out a DOCTYPE declaration for the sake of brevity.
Your base page code, less its content, is as follows:
<BODY TOPMARGIN=0 LEFTMARGIN=0 RIGHTMARGIN=0>
So, from that alone we can deduce that the content of your page has been instructed to begin at two separate places (see the opening <body> tags ?) and also to stop at two separate places where the closing </body> tags appear.
Now, to link your stylesheet to the page I'd suggest you are a bit more thorough:
="main.css" rel="stylesheet" type="text/css" media="screen">
This at least tells browsers what to expect and how to use it.