Agree with all the things about tables and old code etc etc, but....
...somewhere on the 20th row of your table you have this:
Have a try setting the height of this cell:
<td background="img/background.jpg" colspan="9"></td>
Logic here, the table is being stretched vertically, so all the cells on the right hand side are being stretched a bit. If we add an explicit height to that cell, it alone takes up all the slack, the other cells are not expanded, and your design is OK. You might be able to do the same on other cells.
<td height="550" background="img/background.jpg" colspan="9"></td>
Works in Firebug (your existing page is broken in FF as well as IE). Not sure it'll work in IE.
EDIT: Works in IE7.
EDIT AGAIN: Just reading Excavator's early post I would like to categorically deny that I am a "table guy".