I have had the same issues, and with 4 different headsets (including Plantronics Pro)...people couldn't hear me, I had to hold the iPhone within 2 feet of my face, constant connecting/disconnecting, etc. Made an appointment with a Genius for tonight, but then found this thread.
MY PHONE WORKS NOW.
I did both the RESET through Settings>General>Reset Network, as well as restoring my phone to FACTORY SETTINGS via iTunes, then set up my iPhone 4 all over again from scratch (selected apps, etc.)
As soon as I reset it (both through Settings and through iTunes), I tested it and found that BlueTooth had WAY MORE RANGE, and people could hear me, even 20+ feet away!
I hope it lasts, but it works for now.
IF YOU ARE HAVING THIS PROBLEM, DON'T DESPAIR! I seemed to have fixed it without going into the store, etc.