Just my 2 cents here. I encourage people to experiment and find what works best for them...
BUT!
In my experience, I have found that any noise removal hardware or software that I have tried reduces my recognition accuracy. And by accuracy, I do not mean the confidence that VoxCommando returns. This number is not the whole story. For example, if you say "remember to buy eggs" and VC comes back with "Remember to try legs" with a confidence of 95%, then this is obviously not good! The most important thing is that VC understands what you said correctly, and does not return false positives with a high confidence.
I have found that the speech engine seems to have a certain amount of noise cancellation built in, and usually, just turning down the input volume to the lowest possible setting that still works, is far more effective than trying to process your audio in any way. Again, this is just my personal experience, but I thought I should mention it, because I don't want people to assume that noise suppression is going to help them. You have to experiment and keep an open mind.
A really good noise gating software that will suppress low volume audio, but still pass the full unmodified audio signal once it detects that you are talking, might actually be a good thing, as long as it is not gating on and off in-between words, which might confuse the SR engine, and as long as it is not cutting off the beginning of your voice command.
In all cases, using a prefix will help to improve accuracy even if you leave VC in the on mode. A unique sounding multi-syllable prefix can really help the engine out a lot, no matter what form of audio input you use.