What is the best way to manage shared contacts between MS Exchange and iPhones
Now that iPhones (iOS4?) support multiple exchange accounts and Outlook 2010 shows other users folders in exactly the same way as public folders you have another option which does not rely on 3rd party software.
Create a dummy mailbox called Shared and give all your users full permissions to use access it using the "Manage Full Access Permission..." tool in Exchange Management Console. Get all of your Outlook users to go to File -> Open -> Other User's Folder and open the Contacts folder. Then move your shared contacts to this folder.
On the iPhone add another exchange account for the Shared account (make sure you set the description to Company Shared when you create it). Only sync the Contacts folder, not the mail folder.
The same thing may be possible with other smart phones that support multiple exchange accounts. You could also use the same technique to share a calendar.
The one issue is can't be made an Outlook Address Book. I am currently trying to find a workaround for this.
I know, not a hassle-free solution but nevertheless: did you have a look at Funambol and it's connectors?