By the way, the number of liberals using "I voted for it before I voted against it" as an example are kind of missing the point. I suspect many of them never understood why this was a powerful moment in the 2004 campaign, and thus don't understand why its lessons don't really apply here.
The reason that Kerry got punished for this is not that he changed his mind. The reason he got punished is that he voted against something popular--funding for troops. "I voted for it before I voted against it" was seen (correctly) as a weaseling attempt to avoid taking responsibility for a vote that turned out to be politically unpopular. Kerry's reputation as a "flip-flopper" played into a perception that he was unprincipled and opportunistic--not that he was indecisive. That was Carter's image problem, not Kerry's.
Had the bill been unpopular, it would probably not have had such a connotation. Any moderately competent spin doctor would have said, "Well, I was assured that the problems with the original bill would be solved in a later stage of negotiations. Unfortunately, the bill got worse instead of better, and I was forced to vote against it." It might not have been a huge winner, but it would never have turned into a catchphrase, and might well have enhanced the good senator's reputation as a judicious maverick who is willing to change his mind when the facts change.