I cleaned up both the HTML and CSS code considerably, but the issues that I was having was pretty much an issue with IE loosly translating the CSS code, while Firefox maintains a stricter ship. By re-writing the CSS line-by-line and viewing it in Firefox as I went along, I was able to catch the culprits and make the correct modifications.

So basically from now on, my hard and fast rule is (and probably always should have been): design for Firefox and IE will probably turn out OK.