Did you try to hard reset your phone for this problem?
1. Hold and press Power and Home button simultaneously till slide to power off appears. Continue to hold both.
2. Release Power button alone IMMEDIATELY when phone switches off (still press and hold Home button)
3. Now press and hold power button again (still holding Home button)
4. Press and hold power and home button till apple logo appears and reboots twice.
5. Release power button after apple logo appeared twice and phone got rebooted. (still hold home button)
6. Now Press and hold power button and release power button once apple logo appears (continue holding Home button)
7. Now just keep on holding the home button till the iphone comes up (it will be back in normal mode)
Just came across this little piece of software. Do not know anything about but looks promising. http://jaxov.com/2010/05/recboot-iphone-...
Not saying that this will resolve your issue but it is a start. Did you jailbreak your phone? Any recent updates etc.?
Here is another discussion about that http://discussions.apple.com/message.jsp...
Let us know how you are progressing and what is working for you. Good Luck