Well, if you're going to use stylesheets you might as well go all the way instead of a mix of css layout and table layout. But for your immediate problem, the reason why your middle column isn't aligning with the side columns is because you're specifically asking for a three-pixel white border above it:
<td style="border-top: 3px solid rgb(255, 255, 255);" colspan="3">