Cold storage just means storing your private keys (wallet) on a non-networked media (paper, usb key, etc.). You can do that with any Bitcoin client but clients which support deterministic keys make it easier. I recommend you create an Electrum wallet and write down its seed phrase on a piece of paper and save its "master public key" somewhere on your computer. You can then delete the wallet from your computer and put that piece of paper in a safe place (and possibly make copies of it in different locations).
You can then use the "master public key" to create a watch only wallet and receive transactions. Even if your computer gets hacked, a master public key does not have the power to spend anything, it can only watch for transactions.
A bit of self promotion: I've built a service which allows people to watch their cold wallet online (Electrum Master Public Keys are supported):
https://coldmonitor.com. One planned feature is to send SMS notifications when transactions happen in your wallet.