I recently found this resolved a similar problem that I had..
I use HideCallerID to block my number to numbers not in my contact list. I found that this had changed to block numbers IN my contact list. When I corrected this the torch and flash started working properly. Weird!!