I (too) have written a completely tableless theme that i will release as soon as it is finished. The theme is completely functional and does not incorporate a single table. The size of a typical page is 70% smaller. Still, from outside the theme, tables are created.
My request is this: there are many places in the code where the "starttable" is called and then a table is created. In some cases it is legitimate, in some cases, not.
But i understand perfectly that some people prefer the table layouts, this is a matter of taste.
SO
I suggest that when the use of a table is dubious (example: to display the list of smilies), there be a "if function_exists('theme_do_something')" that checks for the existence of the corresponding function in the theme.
More generally, i don't think that any html formatting (example: the ubiquitous tag <b>) should be performed outside of the theme php file. There should be a call to a theme function instead.
Moreover the "style" attribute should be used only when a dynamic change is performed. The normal way to give a style to an element is to give it a class name and to set the style in the css file.
Following these simple principles would simplify the code of cpg a tremendous lot, and would help the designers to do a better job.
Reactions?