If I remember correctly, the reset button triggers a signal that runs to nearly everything on the system board, including stuff on PCI/ISA busses. Basically, the signal from the button goes to a little chip (a 'debouncer') which makes a nice TTL signal (to make the electrical engineer happy) and then that signal is fed to all the stuff in the system. It tells everything to immediately drop whatever they're doing and do what they're supposed to do on power-up. Power isn't actually cut, but everything restarts as if it had been cut. Disk drives are likely to spin down and up again because they are normally at a standstill when a power-up happens.
As far as intercepting the reset signal, I think FizzyPop had a good idea with hooking something to the serial port and making a program monitor it. You could probably do something like connecting the RTS/CTS or DTR/DSR pins, possibly the TX/RX pins, together and watching for any change in the status register of the serial port in question.