OK, first going by version numbers alone does not work when dealing with Red Hat, please review the Red Hat link about backporting it is extremly
important that you understand this. The 2.6.10 kernel from kernel.org was released on 24-Dec-2004, the 2.6.9-55.ELsmp kernel for RHEL4 update 5 was released on 05-May-2007 so which is newer???
Second the cause of the error and failure is you forgot something (like the make oldconfig step) or you did not take the time create an working kernel configuration, taking or using the defaults from the kernel source will not build a working kernel on a Red Hat based system. As a suggestion have a look at your .config file used to build the kernel and compare it to the /boot/config-2.6.9-55 file.
The steps I provided in my earlier reply actually do work, I have been doing this for years now;
$ uname -a
Linux Aspire5100 188.8.131.52 #1 Wed Feb 27 10:11:58 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
title CentOS (184.108.40.206)
kernel /vmlinuz-220.127.116.11 ro root=LABEL=/ vga=790 notsc quiet iommu=off
title CentOS (2.6.18-53.1.13.el5)
kernel /vmlinuz-2.6.18-53.1.13.el5 ro root=LABEL=/ vga=790 notsc quiet iommu=off
title CentOS (18.104.22.168)
kernel /vmlinuz-22.214.171.124 ro root=LABEL=/ vga=790 quiet iommu=off