I'm with MyWorld on this one.
What do you need a system restore for. Your users can't really do anything to the system without root access! And users, even under exceptional circumstances, do not need root access. Kernel updates have a rollback ability on bootup, to choose which kernel to use, in the very rare case that the newer kernel breaks something. Otherwise, I cannot see a need for it.
If a program breaks, use Synaptic to completely remove it, and then re-install from scratch. Problem solved.
If you want it to return all machines to a given state, a Hard Drive image works really well. And 50 machines, on a network are really easy to sort out using PING on a TFTP server. 1 hour and I've restored 30 machines (One LAN) to a clean state. (Our Exams image). 1 more hour, and they are back in the normal class state. (Original image)
More details as to the need would be required.