Everybody knows that people in the South say, "Bless your heart!" A lot of people make fun of it and think it's just a silly thing Southerners say when they want to talk trash about somebody without sounding mean. (I mean, we ARE known for being polite!) And that's partially true! In fact, it's true what you've heard; that you can pretty much say anything you want about somebody if you tag "bless her/his heart" on the end.
"She's ugly as dirt, bless her heart."
"He's dumber than a rock, bless his heart."
"She's fat as mud, bless her heart."
(Notice the poetic use of simile!) :-)
Now granted, it's still not especially nice to say those things about people out loud, or even to think them in our heads. But when you tag "bless his/her heart" on the end, what you're essentially saying is, "Sure, they have flaws, but I still love them. I empathize with them. I accept them!"
(Ok, maybe that's not what EVERYONE means, but it's what most people mean when they use the phrase that way. I think. I hope!)
The other way to use the phrase is when expressing true, genuine sympathy or empathy for the person. In this case, you can state the observation directly TO the person.
(To an 8 1/2 months pregnant woman): Honey, your feet must be killing you, bless your heart!
(To a person who expresses that they have a headache/various other ailment): Well, I hope you get to feeling better, bless your heart!
If you REALLY, REALLY mean it, you can even add the word "little" in for emphasis. An appropriate time to use this special form would be if someone gave you a delightful and unexpected gift.
"Well, bless your little heart! You didn't have to do that!"
So there you have it. Yes, it can be used to try to sugarcoat an insult, but it also has several other usages, and its usefulness shouldn't be underestimated. Such a simple phrase, but so many complex meanings.
Go ahead, throw it into a conversation! You won't be able to stop.
Bless your heart.