
I know it's not a trivial thing to implement; an undo/redo functionality requires classes for all the different actions a user can perform on the network (like changing the graph, changing CPDs, changing the layout, adding evidence etc.), and it takes some time to implement and test. Still, I think this is a function new users simply expect, and get very frustrated over when they did some mistake after half an hour of model editing and all they can do is to load the last saved file.
Teaching about BN and ID is one of the goals of the GeNIe project, and it is very good for students who want to explore the tool by playing around, if they can feel safe that they can't do anything wrong because there's always an 'undo' button.
Just my two cents
