Codelock Tracker has a few features to enable your clients to upgrade within a software type - and also fraud protection from those who may dishonestly want to get upgrades for free.
The Payment Manager is a versatile Software Sales Management tool. It has several self-checks within the system, accurately handling the cost differences and the payment processing for renewals and upgrades - even from free demo versions to paid versions.
The user doesn't have to download the software again - the Tracker Software Manager works cohesively with Paypal's processing system, and the Tracker's own licensing, distribution, and billing/payment managers.
The Payment Manager lets you offer upgrades at a discount for existing customers. You can set the start and end dates of this discount, or leave it open ended.
When you offer your new software version, if an existing customer can verify their license ID to show they have already bought a previous version, they will get whatever discount you have determined. It is an easy, logical system for you and your software customers.