First, Welcome to LQ!!
Here is one method I used when dual booting XP and linux (which will use the Windows bootloader instead of lilo or grub):
I installed WinXP (which wrote Windows' bootloader to MBR, as usual). I installed WinXP onto FAT32 filesystem, not NTFS.
I installed my Slackware into a partition I had created for it. When installing lilo in the install process, I told it to install to the superblock of my slackware partition (/dev/hdb2 in my case) instead of the MBR (this leaves Windows bootloader on MBR).
Only thing left is to tell Windows bootloader how to boot linux. The command (run in linux):
dd if=/dev/hdb2 of=bootsect.lnx bs=512 count=1
will do make a 'bootsect.lnx' file that we need (this command must be re-run whenever you change lilo.conf and note that my example uses if=/dev/hdb2 since that is my linux partition).
Just copy this 'bootsect.lnx' file to your Windows C:\ (again, I used FAT32 for this).
Then in C:\boot.ini you can add a line so it might look like:
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn
This method does work, although you may choose a different route.
[Edit: typo] [Edit2: typo again]