@Linkat,
I'm in the "it depends" camp.
I don't have much respect for anyone who insists they must always tell the truth even if it offends or hurts someone.
I would tell the truth when I thought the person needed to hear it.
If it is the case that while the person needs to hear the truth, I, never-the-less, care about their feelings, I would make a concerted effort to deliver the truth as gently as possible while still meeting the need.
In rare instances when I think the person needs to be put in their place or embarrassed, I would deliver the truth in a way that best accomplishes the objective.
For instance, if a very nice, but very overweight person asked me the cliche question of "Do these slacks make me look fat," I would lie and answer they did not.
If the same person told me that their doctor had advised them that their weight was a serious health threat for them and then asked me "Do you think I'm fat?", my reply would be something like "I think that if your doctor feels your weight is a serious health problem, that you should take his advice seriously and follow whatever instructions he gave you." If the person wouldn't take that for an answer and asked, "Yeah, I know, but do you think I am fat?", I would say something to the effect of "I think you probably are heavier than your ideal weight, did the doctor tell you want that is?"
If a different person, with the same weight problem, had just spent the last 30 minutes directly insulting everyone one else's appearance and then asked me "Do you think I'm fat?", I would answer, "Very."