XP is on the C: drive
W98 is on the D: drive
If you installed W98 while it was the C: drive (which is what I am guessing), then you can't get W98 to boot when it is the D: drive. W98 has it's drive letter hard coded in the registry and MSDOS.SYS. Neither XP nor W98 will boot all the way if the drive partition or drive sequence is changed. Therefore changing boot.ini is not a complete solution.
In addition, both XP and 98se need to have some files on the C: drive for their boot loaders to work right.
Both XP and 98 can have everything except a couple of boot files on a drive other than C:
Possibly, installing 98se over itself will fix the drive letter problem. I've never done it, so I don't know. (It does work for XP.) If you want to try that, consult the Anandtech FAQ about dual boot. Installing 98se second is not a big deal, but there are some details to take of which are not automatic.
Should work for XP as well as W2K
"If you do happen to find that Win98/SE/ME has overwritten the Win2K MBR and Boot Menu, boot up from the Win2K CDROM and perform a repair installation (by hitting R when prompted).
Either use the Recovery Console, and type in the command fixboot, or allow Win2K to perform an automatic or manual repair. "
"Recovery Console" is not a reinstall. It just gives you something like a DOS prompt from which you type in commands. Type help to get a list of commands and info.