Right now I have worked around the problem by booting from the install CD and re-running lilo without /proc/ mounted inside the chroot. This gives me a
Warning: '/proc/partitions' does not exist, disc scan bypassed
This is probably how I got it installed before. I do not consider this a proper answer to my question because it requires me to unmount /proc (which seems dangerous for a running system, and I don't want to have to reboot to a rescue/install CD every time I want to update my lilo).
The true solution to this question will be a way to make lilo work even if /proc/partitions is available.