Thanks for alerting me about lapic, but I've disabled it and the problem persists.
Here's my lilo.conf.... Any more clues? There are a lot of boot images here, but I primarily use the default, 2.4.22-b-386, which is a kernel I've customized. Even the straight bf24 kernel has the same hanging behavior, though.
Also, experimentation has shown that I don't just have to un-hibernate Windows to get things to work; I actually have to get in and play a game of solitaire or hearts or something first. One of the common symptoms of failure is that my screen will get random characters thrown on large chunks of it.
BTW, dmesg reports:
Kernel command line: BOOT_IMAGE=Linux-2.4.22b ro root=302 nolapic
Also, it seems that a couple of hours off is enough to require a boot to windows rather than Linux.
--- LILO.CONF ---
# Support LBA for large hard disks.
#
lba32
# Specifies the boot device. This is where Lilo installs its boot
# block. It can be either a partition, or the raw device, in which
# case it installs in the MBR, and will overwrite the current MBR.
#
boot=/dev/hda
# Specifies the device that should be mounted as root. (`/')
#
root=/dev/hda2
# Installs the specified file as the new boot sector
# You have the choice between: bmp, compat, menu and text
# Look in /boot/ and in lilo.conf(5) manpage for details
#
install=/boot/boot-menu.b
# Specifies the location of the map file
#
map=/boot/map
# Specifies the number of deciseconds (0.1 seconds) LILO should
# wait before booting the first image.
#
delay=20
# You can put a customized boot message up if you like. If you use
# `prompt', and this computer may need to reboot unattended, you
# must specify a `timeout', or it will sit there forever waiting
# for a keypress. `single-key' goes with the `alias' lines in the
# `image' configurations below. eg: You can press `1' to boot
# `Linux', `2' to boot `LinuxOLD', if you uncomment the `alias'.
#
# message=/boot/bootmess.txt
prompt
#timeout=150
timeout=3000
# prompt
# single-key
# delay=100
# timeout=100
# Specifies the VGA text mode at boot time. (normal, extended, ask, <mode>)
#
# vga=ask
# vga=9
#
vga=normal
# Kernel command line options that apply to all installed images go
# here. See: The `boot-prompt-HOWO' and `kernel-parameters.txt' in
# the Linux kernel `Documentation' directory.
#
# append=""
# Boot up Linux by default.
#
default=Linux-2.4.22b
image=/boot/vmlinuz-2.4.18-bf2.4
label=Linux-bf2.4
read-only
optional
# restricted
# alias=2
image=/boot/vmlinuz-2.4.22-1-386
label=Linux-2.4.22
read-only
initrd=/boot/initrd.img-2.4.22-1-386
# restricted
# alias=1
image=/boot/vmlinuz-2.4.22-a-386
label=Linux-2.4.22a
read-only
initrd=/boot/initrd.img-2.4.22-a-386
image=/boot/vmlinuz-2.4.22-b-386
append="nolapic"
label=Linux-2.4.22b
read-only
# initrd=/boot/initrd.img-2.4.22-b-386
# If you have another OS on this machine to boot, you can uncomment the
# following lines, changing the device name on the `other' line to
# where your other OS' partition is.
#
# other=/dev/hda4
# label=HURD
# restricted
# alias=3
other=/dev/hda1
label="WinNT(hda1)"