Honesty is clearly a virtue. So is discretion. Any virtue can be a vice: honesty can be brutality and discretion can be betrayal. Whether we can deal with people honorably depends on where we draw the lines and what we do about it when we cross someone else's lines.
I'm an honesty freak. If a near stranger asks me what I think of her hair and I don't like it, I'll probably lie. Outside of that, don't ask me a question unless you're prepared to hear my best effort at being honest.
This means that when I cross someone else's lines, the other person usually feels I've been brutal. That's usually a big shock for me. I try to make amends and be more careful in the future, but I also can't reliably promise not to do it again. I'm prone to honesty errors. Whether such a person chooses to continue dealing with me depends on whether they feel my honesty has some value to them. Sometimes it doesn't, or isn't worth the periodic ouches.
Some people fall very heavily on the side of discretion. They try hard to speak only nice words, and to avoid upsetting anyone. If you want to know what they really think, you must look to their behavior for clues.
When such a person crosses someone's lines, the other person usually feels betrayed. This is usually as much a shock to the transgressor as accusations of brutality are for me. If they can accept the reaction they've gotten, and learn to be less "discrete" in the future, that will help prevent recurrences. Yet, people who commit this error are likely to do it again. So, whether the other person continues dealing with them should depend on whether they find the niceness more valuable than periodic unpleasant surprises.