I had the exact same problem, I had two versions of XP on 3 partitions. On my "G" (first part of the HD so partition 1) the useless XP and on my "C" (partition 2), the good version of XP. I think I was lucky the way I was able to delete one. Here is what I did.
1) First, I changed the boot.ini file, (make sure the right o/s is booting by default before you do). I added a line after the name of the default o/s (just add any text in [], but don't delete the last line).
2) I then used partition magic to format the partition with the useless XP on it. In my case, this was partition 1 (the first part of my drive), the good XP was on my "C". If you look at the boot.ini file, you have the two o/s describe as (for example)
"multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Family edition" /fastdetect",
with only the number in parantheses changing. The number after the partition tells the computer to load XP of the first partition. But if you delete a partition, the boot.ini file mught not make sens anymore because if by default it is suppose to load XP located on partition 1, and that you deleted it, you won't be able to load it.
It is a good thing I had a partition magic emergency diskette, because once I rebooted after deleting my G, I had nothing. With partition magic I was able to make the partition active (it was now partition 1 again), so my o/s was back on the 2nd partition.
If your useless XP is located on your hard drive after your usefull XP, you shouldn't get this problem. Make the good XP the default o/s, had the "any text" in the boot.ini file, format or delete the partition, reboot and the change to the partition shouldn't change the order of the o/s on your drive.
It took me a while to figure it out, but it worked...