Will there be any good ways to “crossgrade” buyers from the retail edition of an app to the App Store edition without making them pay again in full? (My guess: No.)
You can gift someone an album on the iTunes Store. When you buy a DVD the DVD can "gift" you the iTunes version of the movie (The Dark Knight did this, though it just copied over from the disk). Why can't a software company gift someone an app on the Mac App Store when they buy the app elsewhere?
Because there's no existing way to handle that. Traditional "gifting" costs the full purchase price of the product, and the "promo codes" developers have to give out for free copies are extremely limited--only 50 codes are given out per upgrade submitted to the store (this is for iOS, I assume the same is true for the Mac).
EDIT: What I don't understand is why there's a need to do so anyway. If I recall correctly, there's no such thing for Steam, and game developers have long sold applications both in retail and via Steam with no problem. Supporting two separate applications (one with the traditional purchase and one via the App Store) shouldn't be too difficult, especially if the developer switches over to App Store-exclusive when it hits. He'll simply have to continue to perform upgrades/support however they were before, but will be able to ditch their old payment processing entirely.
Most of the games on Steam are developed and maintained by relatively large teams. Compare to most iOS developers and my guess is the teams are much, much smaller. So for the Mac, I'm guessing it would be non-trivial to be supporting two SKUs, cross grading, upgrading, etc with such smaller teams of people.
You can gift someone an album on the iTunes Store. When you buy a DVD the DVD can "gift" you the iTunes version of the movie (The Dark Knight did this, though it just copied over from the disk). Why can't a software company gift someone an app on the Mac App Store when they buy the app elsewhere?