A couple of things; it would be helpful to know what sort of browser you are using, so that anybody else that is inclined to look can recreate what you are seeing. I use Firefox, and what I see may not be what you see. Also, indenting code makes it much easier to read and identify potential problems, and then using code tags to display it here so that the formatting is preserved.
As far as things being scrunched, your problem is in your addition. You define an interior table with a width of 450 px, then you declare cellspacing of 2px, and a border of 1 px. The actual size of that table is then 456 px. The same problem exists with your other tables. They are not 150px, but rather 156px.
156 + 456 =612. That's bigger than 600 px (which you declared for the size of the enclosing table), and so will not fit properly inside your outer table.