You know using an actual modified gun for shooting scenes is a lot of work and headache on set, especially when it comes to indie filmmaking.
Once I was on set for such a scene, and it took forever to set up as there are tons of rules that have to be followed (rightly so) and a special type of weapons licence is required.
Whether or not you believe in doing it practical on set or in post, here is a Motion VFX tutorial on how to create muzzle flashes in Final Cut Pro X. Just add a sound effect, make sure the actor's movements are realistic and bam. It's actually not that hard. Cheaper too!
Hurry Up and Wait Link: http://goo.gl/ELjyxU