Just some random thoughts...
Is there a way to manually input the SSID?
I've found that when I have problems like that, I broadcast the SSID, then sign on. Then after disabling the SSID, the computer will remember the connection and find it the next time.
Yea, this is the case for me when I use the internal wireless card. I can connect easily when I am not broadcasting the SSID. No problems either connecting from any other laptop in the house when broadcasting is off. It is only in the case when I use the external USB and not broadcasting, the computer does not remember the name of the network. It just says "Unknown Network" and will not allow me to enter the name of the network. It won't allow me to set up a new new connection either tellling me it already exists.
Are you disabling the internal wireless card when using the external USB?
When I use the external USB wireless card, it is when the internal wireless card did not come on with a "blue light." When the computer starts up and gives an "orange light," the internal wireless card was not detected by Windows. So I then plug in the external USB. No, I do not usually turn off the internal wireless at the on/off switch in the front of the laptop. At this writing, I am using the internal wireless. I do my best not to shutdown, restart, or put the computer to sleep for as long as I can so I don't lose the "blue light."
The software that comes with some external networks cards sometimes does not play nice with the Windows networking software...especially when it comes to discovering networks. There are frequent conflicts. Most of the times, the "add on" software disables the Windows versions and takes over. Maybe that's not happening in your case?
The external USB did come with software but I disabled and use Windows networking instead. I did try to connect with the software once to see if this would solve the problem, but it did not.