Congrats, you just earned several useless lines on your code. You could of simply float the divs, give them the exact needed width and use a clear element after the floated divs.
Divs within tables, that's funny. The floats aren't breaking your layout. Trapped is right, float the divs and use a clearing element after the floated divs. How to clear? <br style="clear:both" /> Code (markup): You could simply use the above line of code or take it a step further and assign a class to it while putting the css in your master css file. And no, you don't have to use the BR tag, a DIV will do as well.
If your doing that why even have the divs? I don't agree with doing it this way as it's using tables for layout purposes but still thought i'd ask that.
Woah, you shouldn't be using tables for a layout anymore! There are loads of ways to have multiple divs on one line! You can use relative or absolute positioning or floats. They don't break designs if you use them properly with clear. You need to specifiy a with for the divs and make sure they fit within the wrapper, making sure to take you padding and margins into consideration
There are a lot more than you'd think and some that exist but shouldn't be used, it can be pretty confusing at first