I'd argue against the taking the player aside at a later. Why bring on the confrontation in a time and place where he can deny it and resent you for it. IMHO, the best way is simply to ask the GM to insist that all rolls be made in the open. You don't need to reveal who you think is cheating to do this.
If you want to take things further, it really depends on how well you deal with confrontation, and how willing you are to deal with any fallout. I would argue that revealing to the GM he is cheating is preferable than dealing with it yourself, as it is the GM's role to enforce such issues, and it is his game you are potentially disrupting. Still, if you don't want him to think he has gotten away with the cheating, you can cope with a little confrontation and you think it isn't going to destroy the game, sit next to him at the next game and if/when he cheats, quietly and 'as a friend' - bring it up.
Let him know - at the point of the cheating that you disapprove. How much face you allow him to save is up to you. For instance, it could run like this:
You: "Dude... Don't"
"Him (playing dumb) "What?"
(Pause, while you look at him. The look should acknowledge that you both know what is happening, and that you are 'evaluating' whether it is worth bringing it to everyone's attention. Remain strong. Then)
"You might want to check your addition more carefully." (Don't weaken!)
If he still does it, you have given him an chance. Next time he does it, you have a right to stop proceedings and ask the GM then and there to have rolls in the open. Feel free to be offended by it, and to let your 'friend' know you are.
(LOL KItsune - I thought you wrote "just shoot the guy and ask him to cut it out with the cheating". This may be the best approach yet!