If you pendrive Linux for a while and then failed, it may be that your USB stick is starting to fail.
Your PC starts of looking at the boot order of devices and then decides where it will look for the MBR. This a drive with the "boot" flag set. Normally you can not have two drives connected with the boot flag set.
When you install from CD, the installer sees the current location of the bootloader by checking the boot flag (your internal hard drive) and tries to modify that not realising that you want your install to boot from your external drive.
The way to do this is
1) Set the boot flag on your external HD, using gParted. Set boot order to be CD, then external hard drive and then your internal hard drive. This way most installers will try install linux to the external HD and modify the MBR of this drive, rather than the internal drive
2) A safer method is to disable or disconnect your internal HD during the install; install into your external.
Now you will have two bootable drives, with the MBR of your external specifying Linux, and the MBR of your internal specifying your other OS.
Hope this helps