most of time, bugs with camera's in android have been related to "low memory" try the following thing
1 go to the settings of your homescreen app and turn of the "keep in memory" option.
2 make a photo and notice that everything suddenly works
3 go back to homescreen app from random apps and notice that the homescreen needs to boot itself back up.
i'ts hard to find balance between memory and high end apps. in phones that were concidered to be the first high end phones.
this is one of the biggest nagging problems in CyanogenMod, but from my experience, many roms including MIUI