a lot of good points here. i like what HLGEM has said, only i would be more diplomatic about it (as is to be expected from a project manager).
a few focal points: 1) coders get paid for their behavior, not their technology preferences, 2) business isnt a democracy, 3) the purpose of a business is to maintain its existing clients and garner new ones.
that said, i would approach it using the feedback model from Manager Tools, with adjusting feedback. so you would say something like this to a programmer:
"John, can i give you some feedback?* When you say you dont want to use crystal reports, heres what happens; i become concerned about our ability to satisfy our clients needs, i see the potential of our clients going elsewhere to have their work done, i worry about the other guys seeing this and also deciding they dont want to use technologies our customers need. all these things connect to the company's profitability - without money from our customers the company cant keep us employed. what can you do about this?"
personally, i would also approach it with a bit of empathy. i would say "yeah, i know MAS 500 isnt a particular mind-blowing system. but sometimes we do have to do work which isnt that glamourous or exciting. i know i hate writing test plans, they sap the very energy of my soul, but i do them because theyre needed".
oh - and a point about terminating people. it is an absolute last resort, the impact it will have on the other team members can be quite significant (e.g. people start worrying about their job security and may preemptively leave for another job).
RE: contractors to do non-core work -> dont forget, there is a whole level of new communication/management overhead if you start sub-contracting work. not to mention a lot less profit to be made for a company.