Regarding the "web" based contacts ... maybe use something similar to WebMail extension (
http://webmail.mozdev.org/). I'm not sure if they also implement contacts already, but at least you can look at their source code to see how they've done the mail connection. Though, I'd imagine that someone who has a free Yahoo! or such would in any case also have WebMail on TB - there's no other way of working with your emails. So perhaps it would be better to incorporate contacts into WebMail for those servers (if it's not already so).
As for a local / ftp synchronizer (as opposed to AB Sync's basic copy entire file as backup - instead of really SYNC), could I suggest that you use a VCF file format? Either one VCF file per contact, or a combined VCF. That would allow for nearly all phone's to be synced to and from TB, as most of them (especially iPhone & Andriod) can read & write VCF files. Even Nokia can work with these through the OVI suite. So effectively doing this would sort out much of the hassles many have with their phones & TB (i.e. having a "standard" answer of use GMail to sync your phone - WTF). The VCF files also work into TB through the MoreFunctionForAddressBook addon, and can be opened in most other contact managers (even Outlook works with them - go figure)!
The MySQL is possibly also a good idea for shared Address Books, but then why would one want to use MySQL (or some other DB like FireBird / Postgre / etc.) instead of LDAP?
BTW, I've been testing this quite extensively. I like to group my contacts a bit (especially since they're running close to 2000 at the moment), but TB and Google's methods of grouping them don't work too well together. Say I add a category to one (or more) contacts then sync, I'm told that the Google server was updated with that amount of contacts - but that doesn't show anything in Google. Neither does the category get returned if I then Reset the folder in TB. So categories aren't used at all, though they're a much closer analogy to Google's "Groups". Would it be possible to have these work instead of using as at present the Mailing List? Probably as an option, since some may not want it that way.
Unfortunately TB's address book is rather pedestrian, it does have these "Categories" - but no way to view them. Except typing the Category into the search field and selecting "Category" from the "What to search" drop-down. So on 2nd thought, your implementation is probably the "nicest", it just doesn't work too well with the rest of TB's stuff (such as anti-spam filtering on specific address books). Of course to get around that one could always add another AB synced to only one of Google's groups - but that means you're getting some duplication - which is a pain when you use the Auto-Lookup when typing into a message's To field(s). Thus I'd like to see this as an option (by default turned off), so those that want it one way, can at least do so.
Yet even if the Category<-->Group idea isn't implemented, I'd at least want to see the Category saved into something like a custom field in the Google Contact. At least then this type of info won't get lost as it is at present with 0.3.2.