ok, I'll confess, I'm confused.

You are using IDE hard drives on a multi-processor box.
( Grub and lilo will load more then one kernel by default when multiple processors are on the board, in case the "smp" kernel has a problem you can load the single processor kernel), thus the multiple kernels installed.
You are also using more then 4 gig of memory ( thus the "bigmem" kernel )

Ok, now the confusion: the naming nomenclature in the grub conf: the root is (hd0,5) which is the second extended partition??
and Win2K is loaded on (hd0,4), which is the first extended partition
but the linux kernels are loaded on (hdb1), which is the primary/slave drive.

Notice first the difference in the naming convention. Second, notice there are two different drives, where Linux is loaded on one, Win2K on the other.

Is this the case?? Are you using two drives, one for Win2K and one for Linux?
If it is, why not just install Win2K on the ONLY drive; ( a single, primary/master ). Once this is the way you like it, remove the drive, then install the other drive ( as a single, master/primary ) and install RH linux using lilo as the boot loader ( or grub, but I'll use lilo here ). Once that is working the way you want, go into your lilo.conf, and add something like this:

other=/dev/hdb1
label=Win2K
table=/dev/hdb
map-drive=0x80
to=0x81
map-drive=0x81
to=0x80

use the command "lilo -v"
shut down, install the Win2K drive you created as a primary/slave.

Now you should be able to load either, the default will be what ever you named in lilo.conf in the default=
AND, Win2K will think it is the only operating system and be very happy!!
( note you can still mount the Win2K drive in linux, given linux was compiled to read it )

as for lilo not working, see
Lilo Boot loader messages

hope THIS will help, ( how close did I come )