When creating a command, the default name is "New Command", which increments starting from "New Command 2" onward. The problem comes when one or more of these commands are deleted.
I assume VoiceAttack counts any command fitting the "New Command *" pattern, adds 1, and uses that as the new command name, which if you have "New Command 3" and "New Command 14", would be "New Command 3"; This is correctly flagged as a duplicate, and as such, the command cannot be saved until the name is manually changed.
The aforementioned behavior only occurs when creating a new command from scratch. When duplicating, " 1" is added to the end, eventually resulting in "New Command 1 1 1 1".
Back on Google Groups, I pointed out that dynamic command names would produce duplicates as well(as " 1" was only added to the end, and as such only the final command name permutation). At that point, you chose to completely clear the command name when duplicating instead; Would you reconsider, possibly retaining the duplicate instead(without the " 1" suffix)? It's much less effort to manually clear the command name, than having to remember to open the source command, select the command name, copy it, close the edit window, duplicate, and paste when making similar commands.