When you merge those commands, those commands should be different I guess.
I'm not sure how it should work, but if you look at the implementation in the Flight Framework, those commands are ICombinableCommand. There's a manager class called CommandHistory. Within the executeCommand of this class a class variable "mergingCommand" is instantiated whenever there's a combinable command (much like the undoCmdClass). But how the Flight Framework deals with multiple combining or storage of the commands is not clear to me, it seems to me that they are linked through one another through the class variable "mergingCommand"?
overriding the initializeMacroCommand is not working, since this method is called on instantiation of the class, while you really want to be able to execute the combined commands each time you are undoing several commands combined.
using notifications is not possible either since you have no reference to the previous command
It is supposed to run the commands sequentially and in reverse order.
If you look at the undo-textfields project you can see an example of combining undo commands
into one undo command using flight framework 0.8
http://code.google.com/p/undo-textfields/