I heard that running the xp recovery console and typing fixmbr and fixboot would fix it, but I've also heard that this can screw stuff up if both Linux and XP are installed on the same drive
These commands would erase the MBR and put the Windows bootloader there. Since you said that when you boot from the MBR, you go straight to Windows, it appears to be already there.
Apparently you installed lilo to a partition instead of the MBR. To change this, boot into Linux, and use a text editor to edit the /etc/lilo.conf file. You have to be root to do this. Near the top of this file you will see a line somewhat like this: 'boot=/dev/hda1'. This determines where lilo will be installed (of course it's not /dev/hda1, since that's where XP probably is. Don't install lilo to XP's partition). If you want to install to the MBR, you put '/dev/hda' here. Towards the bottom, you will see entries for each os. You might see a paragraph like this:
You can change the 'label=dos' to 'label=WinXP' if you like.
Run the 'lilo' program to apply the changes.
Or you can use the XP bootloader to load Linux. Use this command in Linux: 'dd if=/dev/hdax of=/lilo.bin bs=512 count=1'. This will create a file called /lilo.bin .Replace the 'x' in /dev/hdax with the number of the partition lilo was installed to. Copy /lilo.bin to your Windows 'C:\', and add this line in Windows to your C:\boot.ini file : 'C:\lilo.bin= "Red Hat Linux'
This will add an entry in the Windows bootloader.