I don't know about South African laws in particular, but in general, a private venue (e.g. a cricket club) can make their own rules. They could probably bar you from wearing the visiting team's colours, if they wanted to. (Of course, cricketers don't have colours, do they? They all wear white.) You always have the option of refusing to be searched; I don't know if they are legally obliged to refund your admission if you do, but I suspect most places would happily do so. Someone asked a similar question of "answer man" columnist Cecil Adams, as I recall - only it concerned the right of private security guards to perform body searches and confiscate narcotics. The answer (for the US at least) is that you have the right to refuse to be searched, and the stadium/night club/whatever has the right to refuse you admittance if you do. Not quite the same thing, but I imagine the same principle applies - your ticket is a contract, and you agree to abide by the terms of that contract when you buy the ticket.
It's no different from a fancy restaurant having a dress code. (Or hotels in Texas that have signs stating firearms are not permitted in the restaurant.) :-)
_________________________
"The mind is not a vessel to be filled but a fire to be kindled."
-Plutarch