1. Yes, absolutely.
2. No, not reliably. The old manifests could be re-applied, but that is not at all the same as a rollback. You cannot 'undo' application of a Puppet catalog because many of the actions Puppet performs to change the state of the system are inherently non-undoable. Execs are the poster child there, but they are by no means the only example.
3. Maybe. One possibility would be to provide full system images. Especially if you put user home directories on a separate file system, you could wipe and replace the system part of each machine to perform updates. The images could be tested pretty well in the lab before they are sent to the field, and they could be completely reverted by wiping again and putting an old image back in place. The update process would consume a lot more time, though, and you might have trouble with locally-installed software.
John