I'm having trouble doing something similar to you - I think. I tried bits of your example with no luck.
I have three hard drives, hda is Win XP, was installed first, worked fine, hdb is NTFS but not used, hdc is Red Hat 9.
Boot fails. If I use emergency boot floopy, Linux comes up fine.
I have tried reinstalling GRUB to hda MBR and forcing BIOS to boot from hda (with GRUB conf on hdc) and I have tried installing GRUB on hdc and forcing BIOS to boot from hdc. Neither way works.
To be specific, boot starts, I get a GRUB loading 1.5 message, then GRUB loading, please wait (which I presume is stage 2) and then I get an Error 21 - which is unknown boot error or something really, really helpful :-)
I don't understand, nor can I find any info on, why multiple hd seems to be a problem. I've tried it before an always given up.