I have made some progress and can now boot Centos! Typically though, I did not solve the grub2/centos kernel interaction bug but worked my way round it. I discovered slightly different symptoms by installing a different Centos kernel:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0).
I tried several install experiments with different kernel and boot loader options and finally realised I could install the Centos grub bootloader on the USB stick, which is where the installer wanted to put it anyway.
So it’s cheating a bit because I still have to boot from USB and then boot Centos from the partition on the hard drive. But I don’t care ‘cos it works. Booting from the disk will still load grub2 from the MBR but it’s pretty useless as it can only boot Ubuntu. Maybe it will have more luck with OpenSolaris when I get to it.
Now, one final thing I have to do is re-make my Centos USB stick because I want to install the virtualisation kernel. I no longer boot the installer since it has been over-written with grub. Also I must point at the instructions I used as a starting place http://lists.centos.org/pipermail/centos/2010-May/094933.html or I will forget how I did it. And I will post my version too.