From an ATC point of view: Always select Mode C if you have it, and especially if you are near CAS. We need as much info as possible on you to ensure you do not pose a threat to other traffic. Many is the time I have had a/c reporting a TCAS TA and the only thing in the area is a 7000 squawk with Mode A only. The only reply we can give is that there is traffic in the area which is BELIEVED to be outside CAS. If you have Mode C the TCAS will not shout unless you really are a conflict and we can see what the situation is (although technically we are not allowed to base separation on your Mode C unless it has been 'verified', which means gettting a level report and checking it with the radar).
There was a debate about six months ago about Mode C in which some people suggested they didn't like putting it on because it meant ATC could see that they weren't maintaining a level or because if they were close to the base of CAS they might wander into it and didn't want to be caught. If you can't maintain a level when requested then you should go and have a few more lessons, and if your attitude is the latter then you shouldn't have a licence!!
Mode S: For a commercial aircraft then I think it is a good thing. We are already short of squawks and there has been more than one occasion of misidentity due to selection of somebody else's squawk. In one dase two aircraft from the same airline flew all the way from Scotland to London on each other's squawks and the ATCO couldn't work out why his instructions were not working! It was only when one of them ended up near Brize instead of WCO that the penny dropped. What I am not clear on is whether we will also ne able to work with non Mode S squawks in the airways from people such as Fuji. I imagine we will, but haven't checked. As you say, £3000 for a C172 who goes airways occasionally seems a lot of money.