I think Bugs should be fixed for free. I mean, really if you're going to concede that this update fixes something, from a previous version, then anyone using something previous is using software that is broken or not working the way it was intended.
I suspect in reality, however, doing so would be futile for any developer because as Microsoft has learned, the molehill of users who choose to lag behind, will grow into a mountain of different configurations to maintain. This will prohibit new development, which will affect the bottom line of the company, who will then either go bust or raise the cost of the software. One way or another, the end user will pay for it.
I do believe they can develop some sort of tier pricing though, so that if your software is just a bit behind, you won't be paying as much as someone who hasn't updated ever. I can sympathize with the Developers, but that doesn't mean I believe they should profit from their mistakes at the expense of Users, who for whatever reasons they may have can't or choose, not to update. Just my opinion....