I'm 28 and I lived in South Africa for two years (in Johannesburg). I think a lot of people skip Johannesburg and head straight to Cape Town or Kruger, but I think Johannesburg is one of the most exciting cities I've ever been to, so I would highly recommend spending time there. There are lots of things you can do there:
* Hector Pietersen Museum in Soweto: great museum about the riots in the 1970s that sparked the beginning of the end of apartheid. Also, just around the corner from a bustling street in Soweto with shops, restaurants and bars
* Neighbourgoods Market in Braamfontein if you're there on a Saturday: near the central business district, lots of good food, drinks and art in a converted parking garage (I think); it's where we would go to hang out often
* Arts on Main in Maboneng (south of the CBD): on Sundays, similar to Neighbourgoods, but I liked it a lot more. More to explore, a lot of art, a lot of bars (one called the Living Room, and another called Ten Decades are definitely worth checking out)
* Parkhurst: lots of really good restaurants in one of the few walkable neighborhoods in Jo'burg, and with the exchange rate as it is, a good meal is relatively affordable
* Greenside: restaurants and bars that skew towards the more casual (although my favorite Italian restaurant was there, Doppio Zero) in another walkable neighborhood
* If you want the safari experience, you can do a day safari to Pilanesberg (either drive yourself or hire someone; usually runs about $100/pp, maybe less with the current exchange rate), about 2 hours outside of Jo'burg. Pretty good game viewing there (although, to be fair, many of the animals were brought in in the 1970s, but they roam completely freely and I believe it's essentially free of human intervention now for the most part)
* The Apartheid Museum south of the city offers another perspective
* Constitution Hill houses the home of South Africa's constitutional court, and was a prison during the apartheid era where Nelson Mandela was once held
And lots, lots more. If you PM me, I can suggest a few other things. You would need a car to get around, though. Johannesburg is a lot like LA.
The Cradle of Humankind is about ~45-60 minutes outside of the city, but besides some interesting caves and a small-ish museum, there isn't much to do there.
I would recommend Cape Town over Durban. There's so much more to do and see there, the hostels are pretty good, and although I usually avoid those hop-on-hop-off buses in most cities, they're actually pretty useful in Cape Town. Plus, you can do a wine tour in Stellenbosch and Franschoek for about $80/pp if you like that. I'm happy to recommend the guy I did a couple wine tours with -- he was great.
Also, I used my credit card and debit card there (plenty of ATMs, although I honestly rarely used cash except to tip the people who watch your parked cars), and had no issues. The exchange rate is pretty amazing right now. And don't bring US dollars unless you plan to travel to, say, Zimbabwe. I never used US dollars anywhere else.
You're going to love South Africa, it's an amazing place!