I do not know for WinXP, but for Win2k (and likely WinXP), you will need to use the NTLoader _FIRST_. This means letting windows control the boot process instead of Linux.
You can use the bootpart program
http://www.winimage.com/bootpart.htm
to create the required files, including the boot.ini file.
After that, you can (in Windows)(under Control Panel>>System>>Startup in win2K) add an entry for Linux.
So, When the machine powers on, the NTLoader will run, giving you the choice between windows and linux (with default OS and timeouts specified in windows). If you choose Windows, windows will boot. If you choose linux, LILO will run and present you with its menu (which you can set to automatically load linux), after which linux will load.
An important note: The windows primary partition (usually C
cannot be NTFS, or this will not work. It must be FAT16 or FAT32.
Also, your ENTIRE /boot partition must be located within the first 1024 cylinders of your hard drive if you only have one physical drive.
It sounds like you may have to repartition and reformat your drive, and reinstall the OS's again.
Mark