Although I've not been on the Rhapsody but have sailed 7 times with MSC, From experience of other ships, I can say that they have designated smoking areas. They will tell you in the daily programme where smoking is permitted, so you can go there if you smoke and avoid it if you don't. They don't allow smoking in main dining rooms. I've also found that they tend to have more smoking areas when in Europe and less in the caribbean but have no idea what they will do for South Africa. Hope this helps.
Smoking allowed on decks and outside 8 belles dico bar also designated area inside 8 belles disco bar. They open the doors at night so you can still enjoy the entertainment whilst you sit outside. No smoking in showboat lounge. I think you can smoke in casino.