1. Could be due to numerous things: Corrupt archive, connection interruptions during download etc..
2. Tom's cache suite most likely, or even by hand if the corrupted 'item' isn't packed.
3. Opcodes are used for the sending of packets, each Opcode represents a different one. (Unrelated to your cache questions).
4. See #2.