Fixing "Couldn't install on USB storage or SD card" issue
A fix I've found and that works is to mount the SD card on a PC, open the *.android_secure* folder and delete a file named smdl2tmp1.asec.

It seems that it's a leftover file from a previous (failed?) installation/update that prevents another update to run correctly.