Just to back up what the previous posters have already said there is no need to get rid of the tables in this instance. Tables themselves are perfectly fine and valid X/HTML and should be used where necassary, which is the case here. When people talk about table-less design they are not, generally, talking about removing tables entirely from their projects but just removing them as a framework for your page layout.
Tables are neither inherently good or bad. Like any other element, they have their uses and they can either be used properly or improperly.
If you're using them as the framework for your layouts, you're using them improperly. If you're using them to display data that much be expressed in tabular format in order for it to be interpreted properly (like spreadsheet data), and if you're using table headers, summaries, etc. properly, then you're using tables properly, and you should not look for a substitute for this.
Using tables for layout creates such a mess, as with your nested tables problem, that it becomes very difficult to directly convert them to 'table-less'. This is a perfect example of why you should never use tables for layout.
The best thing to do is ignore the code of the previous version and just start from scratch.