You've sort answered your own question about when tables should be used, I think. The general consensus is that they should not be used for layout.
Here's a couple of useful links on laying forms out without tables:
http://alistapart.com/articles/prettyaccessibleforms
http://www.noupe.com/php/beautiful-forms.html
The first of these is quite old, but still useful I think.