A friend asked if he's wrong to teach his boy to cheat.

This question has the quality of punching you in the stomach. It leaves you slightly disturbed and uncomfortable because, deep down, you know the answer is more complicated than it seems at first glance.

My knee-jerk answer was that you should never teach a kid to cheat. 

The world is already crooked enough. We should aim to raise a generation with strong ethical standards.

Teaching children to cheat suggests that it's the way to get what you want. It can permanently misshape their representation of the world. For instance, it can make them suspicious of others or believe that the end always justifies the means.

These are toxic belief shortcuts.
They promote individualism as the supreme framework. 

However, the reasonable answer needs a bit of nuance.

Cheating or not cheating isn't a topic to discuss in a vacuum. It needs to be contextualized.

Not all "rules" are created equal. Some are legit, and some are made up. Some are merely guidelines. Some are artificial or self-imposed and, dare I say, meant to be bent.

Some are fundamentally unjust to you or others.
And a well-rounded human being has justice as one of his core values.

You don't want to rear selfish, entitled human beings who break the rules to get ahead. But you equally don't want to raise drones who follow dangerous or unjust rules mindlessly.

Your job as a dad is to train your child to identify the different types of rules. And teach them how to behave accordingly.