Solution 1:

XP's setup sees OEM, retail and volume CDs and installs as different and so does not offer the repair option.

If you copy the CD, altering the data in the setupp.ini file you can "create" a disk of the right type; there are some other differences between the disks, but I can't remember what they are - and in your case are probably irrelevant.

Solution 2:

The repair option should be on the same screen as the Parition list. Your assumption is correct though. If the install CD does not match the installed version, you will only get the install option, even if its XP Home versus XP Pro.

I'm not sure if Service Packs (installed SP2, but CD only has the original or SP1) will also affect that, but I suspect they do.

Solution 3:

I found myself in the same situation. I ended up going to the recovery console, and I ran chkdsk c: /r. It found some errors in a registry file, and after it repaired them, I was able to boot from my XP disc and see the Repair option.

After I ran the repair, it said Windows had not been activated, but it wouldn't bring up the activation dialog until I rebooted into Safe Mode, uninstalled IE8 from c:\windows\ie8\spuninst, and then rebooted one more time. The reason the activation dialog wouldn't come up was that the repair left IE in an unusable state with both IE6 and IE8 files. You may also need to remove IE7 from c:\windows\ie7\spuninst.

After all that, I was able to activate and then continue by installing all of the missing updates.