I understand that this is possible by using a magic packet on a WoL set up, but is it possible to remotely power a PC using the computer's serial port?
Yes, there is an out-of-band management tool called EMS (Emergency Management Service) for Windows Server 2003. I'm sure there is some 3rd party software and equipment you can buy for XP but I'm not aware of any such software or hardware. Searching Google is your best bet there.
For W2K3, you buy a terminal concentrator that hooks up to the serial port and the terminal concentrator has an Ethernet port on it so you can VPN into a RAS server from the outside and manage your servers even if they are turned off or frozen. You use the "Special Administrative Console", aka HyperTerminal, to control the servers hooked up to the terminal concentrator. Usually you want to encrypt this traffic between the RAS server and terminal concentrator so no one local on the network gets in and starts playing around with them. If I remember correctly, all you need to do to enable EMS is throw the command "bootcfg /EMS on" at it and EMS will become enabled. There are however other values for EMS and you can play around with them with the /? switch for more information.
This however is all true, if you have a Windows Server 2003 machine .