Presumably because you would still need to reverse the address hash to find out the public key for that address, whereas the cold wallet has made several spends already and so its public key is - uh - public?
Ahh, yes, that part too. If a cold wallet address has spent any coins, then it's public key is public. Otherwise it's not public and much much harder to "crack". I understand this part, but most people don't realize there are a few more steps to generating the public key from the private key, and the generation of the base58check bitcoin version of the wallet import format.
I've played around with jackjack's pywallet and made a wallet.dat file with lots of transactions, but only if I could get the public key (which is published in the blockchain). Otherwise, you can't. In any case, you can't spend them without the private key.