Thanks for all the responses thus far - some really good advice from the point of view of a junior technician looking to make his own job a little easier!
I like the idea of having a timestamped user log for each machine, it would definitely help catch the worst culprits (assuming the teachers are interested in doing so). I'm going to look into this more as it could well be something we already have access to.
Unfortunately we don't use impero here, but instead a litany of systems including RM CC4, which may well have detailed logs somewhere. Making a note of when all the computers/peripherals are in a pleasing state and then when they are not has been an idea thrown around, but given how spread out all the computer rooms are, it would be a bit of a nightmare. Some rooms are a lot worse than others though, so perhaps it is still something we will do.
This is mainly my responsibility and I do try to keep things as nice as possible but won't always replace an entire keyboard because of a single key (unless specifically asked). I do try and find spare keys for them however, but it all feels very futile when within a few days the whole thing will be thrown out because some kid decided that collecting space bars is a good career choice.
This would be great... assuming I had access. As far as I'm aware only the Facilities Manager is allowed to access the footage freely, and anyone else who wishes to do so must watch it in his office supervised by him. If I can pinpoint the time when the vandalism happens then this would be a valid solution, but would probably be out of my hands at that point, up into the arms of senior leadership who I admit have a million better things to do than chase up those with a fetish for rearranging qwerty keyboards into abcd ones.