Looking at your grub file:
title=Gentoo 2.6.7-r5
root (hd1,0)
kernel /kernel-2.6.7-gentoo-r5 root=/dev/ram0 init=/linuxrc real_root=/dev/hdd4 vga=795
initrd /initrd-2.6.7-gentoo-r5
title=Gentoo 2.6.8-r3
root (hd1,0)
kernel /kernel-2.6.8-gentoo-r3 root=/dev/hdd4 vga=795
^^^ no initrd no root=/dev/ram0 init=/linuxrc real_root=/dev/hdd4
man initrd
"The special file /dev/initrd is a read-only block device.
Device /dev/initrd is a RAM disk that is initialized (e.g.
loaded) by the boot loader before the kernel is started.
The kernel then can use the the block device /dev/initrd's
contents for a two phased system boot-up.
In the first boot-up phase, the kernel starts up and
mounts an initial root file-system from the contents of
/dev/initrd (e.g. RAM disk initialized by the boot
loader). In the second phase, additional drivers or other
modules are loaded from the initial root device's con-
tents. After loading the additional modules, a new root
file system (i.e. the normal root file system) is mounted
from a different device.
"
No expert in your dist and or in kernel compiling done it loads of times, but not went into details
root=/dev/ram0 init=/linuxrc real_root=/dev/hdd4
But this basically says that your working kernel uses the two step approach and your self compiled doesn't and you are landing in Nirvana.
Have you tried the two step approach for your not working kernel ?
hdd is quite somewhere, second disk. I can remember I had linux once on a second non (0.1) disk and it went all bollocks, but that's all ages ago. Maybe the ram root thing is needed to get to your hdd. But I aint no kernel hacker ...
Sorry if its a stupid suggestion and you know all this