You say you bought some coins but they didn't show up. The most likely cause of this is because your node was not yet synced. You then misread the message on Mist that says to "view" transactions you have to make a contract. You're mistaking viewing your balance and viewing your transactions. If you've added the correct address to watch in Mist, then if--and only if--the node is synced will you see your balance. You don't have to see your transactions to see your balance.
When it says "waiting for blocks" I think that means that your node is not synced.
Syncing takes a very long time, especially on computers with slower hard drives. My guess is that your sync is slowing down significantly near block 2390000 or so. This is the DDOS attack. The only thing you can do is wait until it syncs.
You can always look at that same address on http://etherscan.io or some other blockchain scraper. You should see your balance there (and the transactions).