One result of this approach is that everybody gets bugfixes for free, which users are sure to like better than a model where they have to pay for fixes.
One thing you have to decide is what to do if you then release version 4, and someone never paid for 3. Does he have to pay for 3 and 4 separately, or can he just buy 4 and get the 3 features for free? (I'm pretty sure you don't want to let him buy 4 and not have 3; that's where you start getting configuration explosion.) The latter has precedent in the packaged world, with vendors that would give you the same discount when upgrading from any earlier version.