There's a lot of back story about why I was so motivated to set this up, but I'll get to that later.
First, what was I hoping to accomplish? The successful PC alarm clock makes the best use out of existing software rather than having to install other stuff, does its thing without having to be "turned on" every evening before bed, and is "mute proof" (able to turn the system volume on).
The first item needed is
NirCmd. The command "nircmd.exe mutesysvolume 0" will turn the volume on. I put nircmd.exe in a folder and created a new batch file with this line.
The second item needed is the ability to play an MP3 from the command line. In Windows, this can be pretty easy and it opens in the default player ... just type in the path to an MP3 file. I have iTunes, and opening an MP3 also copies it to the library (behavior that you can change, but I don't want to just for this), so I made a shortcut file to an MP3 file in my library, and then put the shortcut file in the same location as the batch file and nircmd.exe. Then I added the shortcut's filename to the batch file.
nircmd.exe mutesysvolume 0
s39.lnk
Of course, there are many options and many ways to open a specific MP3, random MP3, or a playlist in various MP3 players. The shortcut worked well enough for me, so I kept it simple.
The third item needed is a scheduler. Windows comes with a task scheduler that's like Unix "cron" but ... ya know ... more Windows-ish.
You can schedule tasks through nircmd.exe, but if you go to program files, accessories, system tools, task scheduler, you can create a scheduled task to run the batch file every weekday morning at a specified time (or any of the other basic options for recurrence). Then just make sure that the computer has power enough to last through the night, and the next morning, the alarm will go off.
So... why? Well, I used to have problems waking up for work. It wasn't every day, it wasn't even very often, but it seems that no one else ever forgets to set their alarm clock and I was forgetting about twice a year. That was too often. So I became much more careful about remembering.
Then I got a Zaurus PDA with a pretty nifty alarm clock app on it. All I had to do was set it once and then make sure that the system's alarm volume wasn't muted and I was able to get multiple alarms every morning that were pretty much idiot-(me)-proof.
Well, I switched to a newer Zaurus PDA and it had some issues with its alarm scheduler. I got out of the habit of using the Zaurus alarm, and started to use the alarm on my cellphone, which was also pretty good. It would come on loudly even if the phone was on vibrate (which it usually is because of work).
Eventually I got my Sony Vaio UMPC (which I'm using right now), and I didn't use a PDA anymore because that was just silly. And I traded the cellphone for a newer one, and it's alarm program just sucks. If the phone's on vibrate, the alarm is on vibrate, and it only alarms for a short time and then it dies. It's annoying when it wakes you up, and annoying if you don't turn it off in time, and easy to miss because the phone's always on vibrate.
So ... the ideal solution is to make my Vaio a programmable alarm clock. And now I have done so.

And there shall be much rejoicing. Of course, I'll keep setting my main alarm clock before I go to bed, but now I have the backup option that I need.