This was driving me nuts before I figured it out. Because ICS recognizes internal memory as a flash memory card, you can't put a file in the /sdcard directory and flash it in recovery because that is the internal "SD card". You need to put the zip file it in the /mnt/extSDCard directory. Hope that helps anyone having trouble flashing a zip in recovery.