I have a MacBookPro5,2 running OS X 10.6.7, Win 7 and Ubuntu 11.04 in hybrid GPT/MBR conf on internal HD. Booting these works great with rEFIt. However, rEFIt fails to chainload any boot loader (tested LILO, GRUB and FreeBSD's boot0) on external HD (tested HD and USB flash). While the OS icon appears in the menu, after selection rEFIt seems to struggle and after a few screen flashes defaults to Ubuntu's GRUB (installed on Ubuntu partition). I tested both MBR drive, as well as GPT drive with grub_boot partition. When CD is present and external HD's system is selected in menu, rEFIt defaults to CD boot. I did confirm integrity of external HD bootloaders by chainloading them (set root=(hd1) followed by chainloader +1) from within Ubuntu's GRUB (which works fine). I have also managed to chainloaded extertnal HD bootloaders using blessed GRUB EFI on another external HD. So this really seems to be rEFIt issue. And YES, I have read the http://refit.sourceforge.net/help/usb_disk.html section. Basing on successful chainloading using GRUB EFI, I conclude it's not an Apple issue.
Please let me know if you encountered such issues and have an idea of what might be wrong.