I've had a similar issue with a dual boot IBM Thinkpad running Windows XP and Mandrake 10 community (see
http://pbhj.alicious.com for details).
In order not to touch the MBR, as I didn't know how XP would cope with that, I did as you appear to have and installed Lilo to the first sector of the root partition. This works fine, creating the linux binary file using dd and placing it on the C: drive for the windows loader to use.
However, whenever changes are made to boot items, Mandrake updates Lilo (I presume) without telling me. This breaks the boot and I have to dd the first sector and re-create the linux boot binary that WinXP loader uses.
My error is like "LILO 99 99 99 99 99 ....".
HTH if someone else has a similar problem.