I had the same issue and located this fix and it works. Here was the website:
Fixing The "Couldn’t Install On USB Storage Or SD Card" Problem On Android | Android News, Reviews, Apps, Games, Phones, Tablets, Tips, Mods, Videos, Tutorials - Android Police
Also, I had to do it while I connected to my PC via USB. The file explorer program on my phone could not locate it. Here is a cut and paste of the article from the website above (Hope this helps):
Today, for the first time ever, my EVO 4G had an unexpected failure installing updates for some of my Android apps. All update attempts would inevitably end in an almost instant failure with the message that read:
Installation error
Couldn?t install on USB storage or SD card
The weird part was that some apps installed OK but some got stuck in a perma-fail mode and could no longer be updated. After mucking around for a bit, I dug into the logs and found the following relevant log line:
Failed to create secure container smdl2tmp1
Aha! Now what the heck is smdl2tmp1?
After digging around the Internet some more, I found that the problem is caused by a temporary file called smdl2tmp1.asec that is used during some installations (I think of apps that are movable to SD) but does not get deleted for some reason, most notably when you run out of space. Because of this, the system can?t create it and treats it as an error, rather than figuring out that it?s stale and simply deleting it.
The solution? Go and delete smdl2tmp1.asec yourself. From what I can tell, it could reside in 2 locations:
1./sdcard/.android_secure ? this is an invisible folder on your SD card, which you can access with any file manager, like ASTRO
2./mnt/secure/asec/ ? access to this folder requires root and a program like Root Explorer
Look for smdl2tmp1.asec in these folders and delete any ones you see. Deleting it seems to be a safe enough operation ? it?s just a temporary file after all. Once you?ve done that, all the update problems should go away: