The default installation for Ubuntu will install Grub stage1 file to the master boot record of the disk which is first in boot priority which in your case would be the internal drive with xp on it. There are a number of files which constitute the Grub bootloader and only stage1 is in the mbr, the rest of the files are in the /boot/grub/ directory - on your external drive. That would be why you can't boot with the external disconnected.
Can you boot Ubuntu? If not, use the install CD and open a terminal and run command: sudo fdisk -l (lower case letter L) and post output here. Also, what are your intentions with the external? Methods for booting will vary if you plan to keep the external always or regularly connected or if you will only occasionally have it connected. You can repair the xp mbr with your installataion CD. If you don't have one, you can download SuperGrubDisk or a boot disk from bootdisk.com. You should be able to find how to repair xp mbr with a quick search here at LQ. If you have problems understanding steps, post again.