It strikes me as a manipulative phrase.
The term "bless his heart" used when insulting someone cracks me up, although it would seem to serve the same purpose as "I'm sorry but". Maybe it's because I can believe that the speaker genuinely feels positively toward the person despite the flaw she is about to point out when she says "Bless his heart", while "I'm sorry but" seems hypocritical. The speaker is clearly not sorry at all.