apparently, lilo sometimes changes it's format in a way that if you install the lilo package, the existing installed boot loader begins to fail. lilo probabaly needs to re-execute itself when it is installed if there is a /etc/lilo.conf to make sure that updating this package doesnt cause problems. This is needed for RHN, since lilo packages may happen without the use of the installer, which normally masks this.
Since Adrian and I were talking about this some last night, there are additional complications. The first thought of complication is initial install, but that's a "easy" case as /etc/lilo.conf doesn't exist until it's created by the installer. But, even if you check that lilo.conf exists, it could still be invalid already if an updated kernel has been installed before the updated lilo in the case of updating either via anaconda or up2date.
I'd like to second this bug. It's sort of axiomatic that a package upgrade shouldn't break a machine, and yet when you install a lilo package your machine will no longer reboot.
grub gets this right, but changing the way lilo works isn't worth the effort... switch to using grub :-) (and I endorsed this bug at one point ;)