Awesome, that was the component that I was missing, no header line.
Steps.
1. Export current empty contact list to file, call this headers.csv
2. Export contact list from thunderbird as CSV file, call this contacts.csv
3. Open up headers.csv in Openoffice 2.x
4. Open up contacts.csv in another OpenOffice 2.x window
5. Cut and paste all of contacts.csv under the first row of headers.csv
6. Now you have a visible way to align the columns with the proper header. The easiest thing I found was to click on the column letter, then CTRL+Click on just the top row to select everything but the header name, then cut that whole column (minus the header) and move it over to the proper column.
7. After ensuring that everything lines up, just "Save As" the headers.csv file as contacts_processed.csv
8. Open up gedit to confirm that things look right.
9. Open up user account from master account list using View Mail function
10. Click on user preferences
11. Click on Contacts tab
12. Browse for your file and click import.
It worked beautifully. 500 contacts imported no problem. The only thing that came up was that firefox kept thinking the script was running too long and asked me to stop it. Avoid stopping the script, it will take a long time with a long list of items to import.
If you want to ditch those script timeouts, I posted some instructions on my blog
Describing how to change the timeout duration