As a Southern lady, I can tell you there are several meanings to this Southern phrase.
1. If something terrible happens to you, I say it as a way to say "That really sucks! I feel sorry for you." I'll look at you with genuine sympathy.
2. If I look at you with a sardonic smile, I'm trying to call you an idiot without sounding rude.
3. If I look annoyed or mad, that means you've really crossed the line and you're not in good stead with me. It's my way of saying "Go fuck yourself!!!" when I'm in a situation where I can't just say that.
1. "Your mama has cancer? Oh, bless your heart. I'll be praying for you."
2. "I don't know what that guy was thinking when he said that was a good idea, bless his heart."
3. This man was rude and he needed to be put in his place, so I looked him in the eyes and said "Well, bless your heart!".