Given that you have a control that fires a command:
Is there a way to prevent the command from being fired
You can use the EventToCommand class in the MVVMLightToolkit to prevent this.
Handle the Click event and send it through EventToCommand from your view to your viewmodel (you can use EventTrigger to do this).
Set MustToggleIsEnabled="True" in your view and implement a CanExecute() method in your viewmodel.
Set CanExecute() to return false when the command starts to execute and back to true when the command is done.
This will disable the button for the duration of processing the command.