Do you have the same file system type on the new partition?
I think this might be a borked initrd.
Try the following
Boot with a rescue cd, mount the partition, chroot to it and create a new initrd.
There are two ways of creating a mkinitrd, manually or by reinstalling the kernel rpm.
In both cases you must make sure that the filesystem type for / is correct in /etc/fstab.
The manual method...
cd into /boot and you should see something like initrd-2.6.14-1.1637_FC4.img, rename that with a .old extension or something. Find the kernel you want, this should be called something like vmlinuz-2.6.14-1.1637_FC4.
Now do (this is going from memory!):
mkinitrd initrd-2.6.14-1.1637_FC4.img 2.6.14-1.1637_FC4
The important thing is to make sure that the kernal versions match (2.6.14-1.1637_FC4 in the above case).
You should have a file called initrd-2.6.14-1.1637_FC4.img in /boot.
Alternatively, you could download the kernel RPM from FC4 updates and install that with rpm -Uvh --force [kernel rpm] . This will create the initrd as part of the installation process. Although I seem to remember this not working from a chroot for some reason, so I had to manually create one to boot the system and then reinstalled the kernel rpm for consistency.