I recently had a similar problem. I added a 160G drive as Master, and moved the existing 40G drive to Primary Slave. I went through the motions of cloning the 40G to the 160G, edited /etc/fstab and /boot/grub/menu.lst on the new drive, then tried to boot from the new drive.
Got an error: something about 'exceeds 1024 cylinder limit'. Puzzled over that for a few hours; then I realized my error. I didn't edit the BIOS!
Reboot, hold down the delete key during POST, and edit these parameters for the hard disk: # cylinders, # heads, # sectors. The BIOS will set the disk size for you.
The LARGE setting shouldn't hurt anything (I couldn't get auto-detect to work properly).
The BIOS doesn't write the partition table. You do that with the partitioning application.
What's happening, basically, is that the BIOS hasn't been properly informed about the size of the disk. That being said, if the entire grub installation isn't in the first 1024 cylinders, you only get what's in the MBR.
Change the settings I mentioned above: cylinders, heads, and sectors.
Then try again.
Of course, you've edited the bootloader config and /etc/fstab to show proper entries for partitions and locations of files?