The "-inputx" command line option does not update the running instance's microphone used for speech recognition (if set to use the default). This is not noted as a caveat in the documentation (but that doesn't seem worth posting a separate issue topic for).
I usually have VoiceAttack running when switching microphones, but if I don't, I don't need it to start when changing input devices either.
Would it be feasible to have "-inputx" update the running instance only if it exists, and not start one if not?