Wouldn't the best order to do that in, be to GPL it FIRST?
Thane in-thones:
Write up a simple app, sell them the right to sell it, but retain rights to release it under the GPL.
What's with this "retain rights" shit; how you gonna do that, exactly?
I'll tell you one way: Release under the GPL, then they can use it under the GPL just like anybody else. Including "selling" it (which the GPL doesn't forbid), as long as they include the source. (And if it's a sheet of Excel macros, the "binary" IS "the source", innit?)
Presenting them with the fait accompli of a GPLed application simplifies your deal in two ways: First, no figuring out a separate legal formulation of that "retain rights" shtuff for them to sign off on, since that's already done; second, it won't be up to *you* to explain to them what this mysterious Gee-pee-ell thingy is that you want to "retain rights" for; since it's already released under that, its terms are what govern their usage, so it's up to *them* to figure it out for *their own* sake.
IANAL, YMMV, etc, but [Edit - added:] as long as you're sure you *do* want to release under the GPL, then releasing under the GPL first and negotiating other alternatives later sure seems the simplest and smartest way to me. That way, *they* will have an incentive -- it's free, as in "free beer" -- to find out if *they* want to try to acquire some alternative license from you; not the more complicated other way around as your "retain rights to release it the GPL" idea would mean.