"If it's part of your job to train clients, then that pretty much settles it. The fact that the clients don't pay your company for the training is totally irrelevant."
This here. It is right.
"That plus it seems like a bad business strategy to teach clients how to do your job. facepalm"
I dunno-- I know how to change the oil in my car, but I don't like doing it. Putting information onto the web isn't rocket science, but a lot of people fall immediately asleep when confronted with having to actually do it. Far from worrying too much about losing business to over educated clients, I worry about under-educate clients who don't understand why my implementations are better than others.
"When any of you work directly with a client, how do you handle situations like this? Do you refuse to explain anything too technical with them? Do you charge for "training" or build it into your cost? Or do you explain as best you can to keep them happy?"
I explain stuff as best I can, and not just to keep people happy.
Showing people how to do new things can be an interesting privilege. I like teaching so much that I got an intern from a local university . It is challenging to teach well (and thus can be made fun) and if you can figure out how to do it well many people will find you to be useful.
Your mileage may vary on that, as it can be incredibly frustrating to work with people who don't seem to get things that you may see as obvious. But
I dunno if it is possible to change how you think about teaching-- I would have a hard time adjusting if I thought that it was pointless to teach people stuff, and it may very well be.
But if you want a good way to deal with your frustrations, I suggest that seeing client education as a creative challenge rather than a pointless and possibly dangerous chore would make you happier at work.