One of the most valuable qualities for a software developer is an ability to recognize and admit when they have been doing something wrong.
Yesterday I discovered an excellent summary of HCI research regarding online form design, and discovered that I’ve been designing forms incorrectly for years.
In summary, the best way to lay out a form is with labels above the fields, left-aligned. The labels should be in smaller regular text, not bold.
It also goes without saying that you should be using CSS for your form layout, not tables.