Would you mind checking that you have the latest version of PureMVC? This was actually addressed one or 2 revs back.
Before, the Controller's registerCommand method created an Observer and stored the Command Class in the commandMap as the value for the Notification name key. If you were overwriting a preexisting mapping, an extra Observer got generated.
The code in registerCommand currently checks to see if the commandMap already has a Command associated with the Notification name passed in. Only if the value is null for that key does it create an Observer. Since all Observers created for Commands are the same (they point to the Controller's executeCommand method), then whatever your new Command was, it got called twice.
Please let me know if replacing your PureMVC.swc (or the source code if you're using flash) fixes this.
BTW, from 2.0 on, all swc files will have a version number as part of the filename, since you can't tell what version you have by looking at it. We learn as we go with this stuff folks