It's a CSS issue. You use a <p> tag which inserts white-space in between elements unless you specify margin: 0; padding: 0; of the <p> element. That should fix the Firefox (Win) issue with a space between leftmenu_1a.jpg and leftmenu_1.jpg.
As for the breaking, it's not the include, it's either malformed CSS, or malformed tables. Validate your code through the w3c and that should solve many problems. Also, peruse some CSS forums for fixes to IE/Mac and IE/Win. Because Firefox and Safari are the most standard compliant browsers to date, you should code to them. Then, inject "hacks" or modifications for IE/Win.
One such "hack" is the famous IE/Mac Comment Hack. You do the hack like so:
/* IE/Mac Hack \*/
#unique_name{ background: #fff; }
/* This ends the hack */
~Brett