я с этой проблемой тоже сталкивался причём давно ...
просто напросто нужно в <тд> всегда отдельный <table> вставлять
И тогда этому самому тейблу будет похрену до соседных таблыц и до
того что их какой-то текст там натягивает

Запомни все таблицы друг с другом взаимодействуют и находятся в
зависимости друг от друга !!! Т.е. если одна таблица поменяет
свой размер в высоту то и все остальные тоже двинутся !!!
Допустим есть такая страница:
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="500">
<tr>
<td bgcolor="#CCCCCC" height="500"></td>
<td></td>
<td bgcolor="#CCCCCC" height="500"></td>
</tr>
</table>
Этот код создаёт три таблички. те, что по краям - серые, а в середине - белая.
Как уже и говорили, если одна из таблиц, например заполнится текстом и соответсвенно увиличиться,
то и другие попрут вниз... Но тебе нужно вставить в эти серые таблицы отдельные <table>
Ты вроде это зделал, но раз не работает, значит криво! Мой вариант работает 100%
Для начала код приведём в порядок:
<table width="596" border="0" cellspacing="0" cellpadding="0" height="500">
<tr>
<td bgcolor="#CCCCCC" width="200" valign="top"></td>
<td width="200"></td>
<td bgcolor="#CCCCCC" width="200" valign="top"></td>
</tr>
</table>
мы так задали ширину и ешо кое-чё... а теперь самое главное вставляем таблицы ...
<table width="596" border="0" cellspacing="0" cellpadding="0" height="500">
<tr>
<td bgcolor="#CCCCCC" width="200" valign="top">
**ЗДЕСЬ ПЕРВАЯ ТАБЛИЦА**
</td>
<td width="200"></td>
<td bgcolor="#CCCCCC" width="200" valign="top">
**ЗДЕСЬ ВТОРАЯ ТАБЛИЦА**
</td>
</tr>
</table>
А вот код таблиц, которые мы вставляем:
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="500">
<tr>
<td bgcolor="#CCCCCC"></td>
</tr>
</table>
И получаем:
<table width="596" border="0" cellspacing="0" cellpadding="0" height="500">
<tr>
<td bgcolor="#CCCCCC" width="200" valign="top"> //Цвет главных таблиц(Надо убрать)
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="500">
<tr>
<td bgcolor="#CCCCCC"></td>
</tr>
</table>
</td>
<td width="200"></td>
<td bgcolor="#CCCCCC" width="200" valign="top"> //Цвет главных таблиц(Надо убрать)
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="500">
<tr>
<td bgcolor="#CCCCCC"></td>
</tr>
</table>
</td>
</tr>
</table>
Ессно не забываем убрать цвет у нашей главной таблицы
И в оообщем итоге будет:
<table width="596" border="0" cellspacing="0" cellpadding="0" height="500">
<tr>
<td width="200" valign="top">***//Цвет главных таблиц(Надо убрать)
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="500">
<tr>
<td bgcolor="#CCCCCC"></td>
</tr>
</table>
</td>
<td width="200"></td>
<td width="200" valign="top">***//Цвет главных таблиц(Надо убрать)
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="500">
<tr>
<td bgcolor="#CCCCCC"></td>
</tr>
</table>
</td>
</tr>
</table>
Ну мы получем полную независимость наших серых полосок по бокам от белой полосы
(В которой будет типа текст) в середине.
Писал как для ламера, но если ты не ламер(что очень может быть

, то есть много других ламеров которым это может пригодиться !!!