I have been able to sync Thunderbird and iPhone contacts very well. Heres how I do it:
1) Set up a free account at my.funambol.com. This account will be used as a "go between" between T-bird and the iPhone.
2) Download the T-bird extention for MyFunabol here:
https://addons.mozilla.org/en-US/thunderbird/addon/8616
3) In iTunes or from the iPhone download the funabol iphone app at:
http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284457844&mt=8
Once everything is set up, you can use the T-bird add on to sync the T-bird address book to funabol, and then use the iphone app to synce your iphone to the same funabol account. It works very well. A couple of mapping notes:
T-bird "email" field = iPhone "other" email field
T-bird "additional email" field = iphone "home" email field