1.
PS/2 Keyboard. It would be best to work this problem using a known good PS/2 keyboard. Do the "function keys" work on another computer? You said the keyboard works with your "Linux Puppy" disk. Can you ensure this keyboard's function keys work with your "Linux Puppy" boot on this computer?
2.
System BIOS CMOS Setup. Are you able to access CMOS setup utility from PS/2 keyboard during system startup (from a cold start)? And is this access via a function key (e.g. F1 or F2)?
3.
Windows XP Boot Floppy. If floppy drive comes before hard drive in boot order, we can setup a floppy to control how Windows XP is booted. For example, we could use the debug version of Ntdetect.com:
Ntdetect.chk from the
Windows XP Service Pack 2 Support Tools. We can also setup a "Boot.ini" file to boot operating system with switches into whatever mode we want.
4.
Windows XP Setup CD. The way I read the startup process, if you boot from the Windows XP Setup CD and it detects a Windows operating system on the hard drive; it will display "press any key to continue..." to permit you to default to a hard drive boot (by not pressing a key). If there's no operating system on the hard drive, you won't see this prompt. So... If it doesn't see an operating system, it will continue the boot from CD. And the hardware should be under the control of both the system BIOS and the software on the CD. This might permit a Windows XP installation to another hard drive.
5.
Antivirus Software. Use a bootable CD,
Avira AntiVir Rescue System, to scan your system for viruses. If the unbootable computer has internet access, you should be able to "update" the program and virus definitions contained on the CD. Comes up in "German". Look for "British" flag lower left when it comes up if you prefer English. I've run it several times, but only on working systems. This is free for home personal use.
6.
Hard Drive Diagnostics. Most hard drive manufacturers provide "free" diagnostic software that may be run from a bootable floppy or CD. You should be able to find download link for your drive's Make and Model Number on their support web page.
7.
Memory Diagnostics. For what it's worth, you can also make a bootable floppy or CD to run memory diagnostics.
Memtest86 is an excellent program for this. Look for the "Free Download" link on the left side of their home page.
8.
Bootable Windows or Linux OS. Use a bootable operating system on floppy or CD that can read and write to the NTFS file system to modify the "boot.ini" file or add "ntdetect.chk" to the hard drive (assuming it has keyboard access like your Puppy Linux does).
9.
Bare Bones Machine. At some point you may have to strip out and/or disable all of the nonessential components to eliminate them as the source of the problem. For example, booting the machine which is just motherboard, power supply, memory (one stick), video card, hard drive, maybe CD drive, monitor, mouse, and keyboard. Of course if keyboard works with Puppy Linux, it would seem to be unnecessary.