Hi,
I'm actually a student doing 3rd year BSc Computer Science at UKZN Westville at the moment.
After reading most of this thread, I think what I have to say might help a bit.
When I started studying computer science, I had many of the same ideas you seem to have had, as to why I had to study math and why there was so little CS content in 1st and 2nd year. At 3rd year level, I'm quite happy to have done the math content, as although it may not be directly applicable to most of the programming work being done, it has helped in several courses thus far. I guess the reason there is so little CS content in the first two years is due to the fact that many of the students come from an environment where they have had minimal use of a computer throughout their life, so to throw a lot at them at once will see them all failing from the first semester, which somehow still seems to happen to some degree. Where the math comes in handy is when you start doing courses such as "algorithms and complexity theory" which entail a lot of calculations, although mostly linear algebra and graph theory, general mathematical experience really does help. Computer science is a highly analytical field and having the mathematical experience is beneficial to you becoming a better programmer.
I can't say much about the implications of how studying relates to a working environment, but as I have noticed, all of the South African universities that I have researched offer similar courses to those available at UKZN, and as I have said to most of my peers, I believe it's much more beneficial to have completed slightly more challenging math courses than to have a degree where you've taken first year economics or management as an elective, math experience should always be an added bonus to your CV if you are looking for a job as a programmer.