I've had Visio refuse to undo itself after completely destroying a document with a single move of an object.

At least PowerPoint's undo actually works.