Perhaps your Windows XP partition is hidden, and you will have to unhide it in order to allow Windows XP to boot off of it. Quite a few utilities are available to do this - two that I can think of are PowerQuest PartitionMagic (which is commercial) and GNU GRUB (which typically comes with Linux, and can be run from many Linux Live CDs).
Another possibility is, that you originally installed Windows XP while your 120-GB disk was the first harddisk; Windows XP will, then, have assigned drive letter "C:" to its system disk during its installation procedure. You would, then, have moved your WinXP disk into second position, and your Win98 disk is now the first one. Thus, whenever you boot your computer, drive letter "C:" will refer to your Win98 system; when you subsequently attempt to boot WinXP, it can no longer assign its own system partition the "C:" drive letter, and it gets stuck. To overcome this, you will either have to reinstall XP, or use GNU GRUB as your boot manager (which allows you to swap the first and second disks while Windows is booting; incidentally, it will also allow you to hide and unhide partitions as you see fit).