The hand luggage allowance for Upper Class is more generous than Economy. There is also more space in Upper Class to stow it safely.
The rules should be applied to everybody in the main cabin equally. The Ground Staff try very hard to make sure all cabin baggage is weighed.
It makes no difference that it was a mixed ticket because even if you had flown Virgin Atlantic for the whole journey, the checked baggage allowance is different on US routes than it is on South African routes.
I'm sorry if you feel you where unfairly treated. I can assure you again that this is not a money making exercise.