Grub error 21 means that the first grub stage was unable to access the partition it needed to load the second grub stage (so it cannot even put up the menu).
To fix this, you will need to boot from the Ubuntu CD and run it as a live CD. Then you can reinstall grub
. This will at least get both the operating systems on the internal drive working.
Okay, so why did it happen? When you installed Ubuntu on the removable drive, you installed grub stage 1 in the MBR, but it now pointed to grub stage 2 on the removable drive. That means that it could only access the stage 2 if the removable drive was connected. Worse, if the external drive required a driver, grub may be unable to access it even when it is connected.
So if you are adding an operating system on an external drive, you will need to modify the grub menu (/boot/grub/menu.lst) on the internal one, so that the external drive operating system is just another entry (in which the entry uses something like "root (hd1,0)" instead of eg "root (hd0,0)". This still assumes that grub can access the external drive.