In subversion, and most modern revision systems, commits are atomic, meaning that a repo is either updated completely or not at all. This way (if the coder does his job) a source tree should never be broken by a commit.
Now I realize how difficult it is to implement something like this for the package manager, but it would be incredibly helpful to someone who doesn't know how to recover from a failed update. There are things that can change which, if not configured, can leave the system in such a bad stat that a normal user cannot even boot. Perhaps a good fix would be to set up a recovery partition on systems with large enough hard drives (you'd only need a few hundred megs) that would allow for an automated recovery to a previously usable state. As less and less technically adept users try Linux, failed updates will become more likely. Users often do not understand that one cannot restart during certain important updates without breaking their systems. Also unstable hardware may crash a system during an important update (like a kernel update, or module update) where a package gets partially installed or installed but not configured. Furthermore, a user should never have to type at the commandline something like "dpkg --configure -a". We may understand it, but to the average user it's cryptic and frightening.