It may be necessary to post enough code to replicate the problem. Maybe there is simply some default margin or padding that is out of whack and needs to be specifically declared.
Not enough information to make many suggestions, but working in IE, and not several other browsers is a flag. This would indicate a coding problem and not a browser problem. How about Opera? If it is was designed with IE as the primary testing platform that is problem #1. Code to standard first, then fix IE.
tedster is 100% correct. Declare a DOCTYPE and validate the HTML and CSS before anything.
The description of your tables not stacking correctly in some browsers or browser versions screams margin issues however, and my first bet sloppy code that validates, but doesn't render 'correctly'. It could be good code that just trips up and needs a fix, but that would be my second option.
also as mentioned by D_Blackwell, the default margins and/or padding are typically different among browsers. after validating, you might try setting all margins and padding to zero for the document and then specifying overrides where necessary: