Honestly I've never heard of an iPhone doing that, I'm going to assume you haven't restored the software on the phone?
What I would do is a restore as a new phone, and see at that point if it is working as it should. If it is then sync everything back to the phone.
Do not restore from a backup because if there is an issue with something in the phone and you restore from a backup its going to bring the "bad" data back into the phone.