@fBoyle-- I agree with everything you said.
I also want to add that there is an implication in this idiom that the change that has taken place is a very drastic one. It's basically when someone's thoughts and feelings make a complete turn to the opposite.
So if you hate someone and have a change of heart, you love them now. Or if you decided not to go somewhere and have a change of heart, now you definitely want to go.