I'm curious to see how the OP's steps to fix the problem work out at the table, so be sure to post a follow-up Hanged Man.
On whether to be confrontational about cheating or not, I'd say it really depends on the personality of the cheater and of the group as a whole. As others have pointed out, it may not be worth the tension and discomfort to the group as a whole to simply call them out at the table. And certainly kitsune9's situation could have gone quite badly. But other groups or accused cheaters may simply laugh it off, hopefully do the right thing, and quickly move on.
We had a fudger (cheater just sounds too harsh for this guy- mainly because his inflated dice rolls STILL didn't make his characters very effective) in our group. He was called on it (subtly) by the guy sitting next to him and later table rules were established about open die rolls. Shortly thereafter that player found an excuse to leave our group. It was a pretty flimsy excuse so I can only guess that he just didn't like having to play honestly.
My advice for how to approach a cheater would be a middle road on the confrontational scale. While sitting next to the cheater, place a notepad between the two of you. Whenever you catch him cheating write down his actual die roll and then the number he reported next to it. Write small enough that he can read it but the rest of the table can't. Also, make absolutely no comment- just write down the numbers and do it every time he cheats. If he doesn't catch the hint make a point of also writing down your own die rolls as well as the matching number that you said you rolled. Maybe make a point of picking up your pen in anticipation of his rolls. If you're feeling cute, write down rolls he reports honestly as well and put a smiley face next to them

, and then a sad face next to his cheat results

. Whatever- it depends on the dynamic between the two of you. But regardless, he should get the hint very quickly and either stop or move to sit next to someone else.