Looks good. Couple suggestions. You are using multiple tables within tables. Have you tried using more css and less html?
For example in tbopen:
<div align="center" class="tablesurround" style="width: {$theme['tablewidth']}; padding: {$theme['cellpadding']}px;">
<table cellpadding="{$theme['cellpadding']}" cellspacing="{$theme['cellspacing']}" width="100%" class="tableborders">
This works fine in IE and Moz, Opera, and even Netscape with a lil extra work.
Just a thought ™