I'm not entirely comfortable with this line of thinking. Drawing a distinction between withholding relevant information and providing false information is such a common feature of moral systems that I can't help but think any heuristic that eliminates the distinction is missing something important.
I agree that a distinction should be drawn but I disagree about where. I think the morally important distinction is not between withholding information and providing false information, but why and in what context you are misleading the other person. If he's trying to violate your rights, for example, or if he's prying into something that's none of his business, then lie away. If you are trying to screw him over by misleading him, then you are getting into a moral gray area, or possibly worse.
Nah, that's just standard deontological vs. consequential thinking. If dishonesty is approached in consequential terms then it becomes just another act of (fully generalized) aggression -- something you don't want to do to someone except in self-defense or unless you'd also slash their tires, to borrow an Eliezer phrase, but not something that's forbidden in all cases. It only becomes problematic in general if there's a deontological prohibition against it.
Looking at it that way doesn't clarify the distinction between lying by commission vs. lying by omission, though. There's something else going on there.
In secret, an unemployed man with poor job prospects uses his savings to buy a large term life insurance policy, and designates a charity as the beneficiary. Two years after the policy is purchased, it will pay out in the event of suicide. The man waits the required two years, and then kills himself, much to the dismay of his surviving relatives. The charity receives the money and saves the lives of many people who would otherwise have died.
Are the actions of this man admirable or shameful?