I had implemented this solution a few years ago, it works fine, but the amount of money it makes is kind low. Of course it depends on how many players plays your game, and also the performance hit you accept in your game, mainly if you pretend to use the gpu for mining.
About the moral discussion, that funy how everyone brings it up but dont ever want to talk about it. I dont think its a moral problem if you inform your customer/player that your game is free but you will use it when its playing to mine, but doing that will cause other problems, like : hacking and gov atacks though you. So for me the moral point goes here, if you goes "moral", then get ready to get problems.
About the use of energy, sorry, I think its a issue for dumb people.