Right,,,, I have tried this extensivly with my iPhone 4,, It seams as if the CPU is struggling to cope with the camera starting up, please try the following simple idea and reply with your results,,
Simply cover the camera lense with your finger or on a flat surface to block light entering the lense, start camera from anywhere, App, FB, etc, give it a few moments and then remove finger etc.
I have removed finger too soon a few times then the camera freezes with a blurred image as if it's all to much for the prcosseor to deal with, but every time I have done this after finding my camera won't start up, it has worked !!
Give it a go, if it works,, Result, If it doesn't for you then I'm sorry
Regards
Bazza