2 answers

Well, nested tables are really really frowned upon. At least by me. Unless you have a reason for using them, outside of getting the layout you want, I don't feel you should use them. Table-based layouts are something I consider bad practice.

That said, my solution to your issue is to replace the table-based layout. Not because I think it is semantically wrong, but because using divs solves your problem and easily allows you almost the exact same layout. I've created an example Fiddle so that you can see what the code and end result look like. That example there should render in IE 7+ without issue. If you're trying to support IE 6 as well, I used the conflicting absolute positions trick, so it would need an IE 6 fix (an expression for the height).

Update

I've updated it since I posted to make it exactly like your example (with different colors). Though the border-radius css works in non-IE browsers only.

Update 2

Whoops, should really double check my solutions in IE 7. Now it should work in IE 7. It was having issues with the combination of floats and relative positioning.