Yep... you are wrong. The BIOS used to play a major role during the 16-bit real mode days. DOS used the bios for I/O as did Win3.x and (I think) Win95.
Modern OSes talk directly to the disk controller, so after the kernel is loaded the BIOS has no role to play. Thus it is important for the Kernel to be located somewhere the BIOS can access it, but after that it doesn't matter.
For Linux this means LILO uses the BIOS but the Kernel doesn't.
Its not that simple... BIOSes are very hardware dependent
[snip]
The 1024 Cyl. problem is easy to solve. Just use LBA32 extensions of new LILO.
If you BIOS doesn't detect large drives it is quite likely that it doesn't support LBA32 either.
LBA32 is a BIOS funda, not LILO.