Look at your output from the fdisk -l command above. It shows sda as a 160GB drive. Is that your internal drive? It also shows sdb as a 500GB drive. Is that your external drive? You have Linux partitions on sda1 and sdb5 which in Grub would be (hd0,0) and (hd1,4) respectively. You ran the commands below to install Grub to the mbr and have it pointing to (hd0,0) which is sda1 and is the Ubuntu you are now able to boot, right?
Look at your menu.lst posting. Toward the bottom you will see this line:
### END DEBIAN AUTOMAGIC KERNELS LIST
Just below that line you will see the following:
This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda1.
The entries below that are for an "existing installation" so the menu.lst you have posted is the second one you installed which should be the external.
Did you run the commands I suggested in earlier post "sudo mkdir /mnt/sdb5...? Did you get any errors when you did this? If you did not get any errors or have any problems with the commands, you should be in the external menu.lst. I don't know what else you may have done but if you put the entry I suggested in the internal drive Ubuntu /boot/grub/menu.lst file and it is not right, the external just won't boot and we'll try something else.
Also, I didn't mean "quit", if you look at your menu.lst file, what I posted is just a title entry I copied from it.
Also, if you want to have just Ubuntu on the external drive and have it be able to boot when set to first boot priority on another computer, you will then need to put Grub in the mbr of the external drive. Not sure how you want to do this??