You might try resetting the PRAM and PMU/SMC. Doing these resets has corrected the situation for me in certain cases.
Also -- and this is just a wild guess -- but if your external drive is an exact clone of your internal, the computer may be confusing the two. Just as a test, you might want to pop out your internal drive, and see if it recognizes your external with the internal removed. If this is the case and it does see the external at that point, it wouldn't surprise me if it then started to recognize both after booting from the external once. You could always change the name of the external as well, just so it's not the same as the internal.
It's also possible (but unlikely) that your machine has a firmware password in place. If you are the original owner and you bought the machine new, you can be sure this is not the case. This type of security prohibits booting from an external device in order to prohibit the wiping of the boot HD, and it can be removed by changing the amount of RAM, and immediately resetting the PRAM four times (initial chime, plus three additional chimes). I wouldn't think this is your situation, because a locked computer wouldn't generally allow target or option mode at all (it would show an image of a lock, with a password field below it), but I have seen a few MacBooks out there with this condition.