I am afraid you have to go back to your disquette again
If your DSL has the 2.4.31 kernel then it is recent and you should have Grub 0.91 there. I checked mine and can confirmed both the DSL 2.0 and 2.1 rc2 have 2.4.31 kernel. The latter is the latest.
Linux doesn't use the boot flag. That was your 1st mistake to play around with it.
XP needs the boot flag switched on and you shouldn't switch it off. That was your 2nd mistake.
Since you never had a workable boot loader in the MBR you should ask DSL to replicate it but you didn't and lost it now. That was your 3rd mistake.
I trust you can take care the 1st and 2nd mistakes. For the third you should while inside DSL replicate Grub into MBR by
Code:
grub-install /dev/hda
Since you have difficulty of booting XP and DSl why don't you use DSL to make a Grub floppy as follow (all been described in Post #8
While you are in DSL, change directory /usr/lib/grub/i386-pc, just pop in a floppy and type
Code:
dd if=stage1 of=/dev/fd0 bs=512 count=1
dd if=stage2 of=/dev/fd0 bs=512 seek=1
This floppy boots up to a Grub prompt
My guess is that you can type
Code:
root (hd0,0)
makeactive
chainloader +1
boot
to boot your XP. For you DSL the instruction is either
Code:
root (hd0,1)
configfile /boot/grub/menu.lst
or
Code:
root (hd0,1]
kernel /boot/linux24 ro root=/dev/hdd2
boot
If you manage to get DSL up just edit it /boot/grub/menu.lst with the above manual instruction for boooting XP and you should find both systems will be booted by XP, after you replicate Grub into the MBR.
There is no rabbit hole after all, so go back to get drunk in the party!
Happy new year.