Any recommendations for tools which can monitor an small network (50 Windows PC's mainly running XP - some Vista) and report on network / hardware errors or potential problems?
i.e. a way to be proactive rather than reactive
It depends on what you want to monitor and how much time you want to put into the setup if your monitor box, but maybe one of these projects will fit your requirements:
Cacti - Can run on Windows or Linux (easiest to just use the CactiEZ CD though, which installs almost as a device on a spare computer)
Nagios - Very customizable, can be difficult to set up.
Spiceworks - Easy to install, lots of updates, great interface, runs on Windows.