Although Linux runs very well from a USB drive, the installation is often accompanied by grub problems.
The problem is that grub usually thinks the USB drive is (hd1) during the installation but when the machine boots from the USB drive it is referred to as (hd0).
You can temporarily fix this during the boot process by editing the grub.conf entry that you boot but the only real fix is to fix grub.conf.