Undo/redo framework sends modification info to updateCachedMultipleAlignment like this:
MaModificationInfo modInfo;
modInfo.type = MaModificationType_Undo;
maObj->updateCachedMultipleAlignment(modInfo);
But does not set any modification flags, so modification info is not correct.
The correct and the simplest solution is always to call loadAlignment (reload the cached alignment) completely in case of undo-redo call.