As much as I find this to be a rather underhand trading practice, I think calling Gamestop evil might be a little over the top!
I hate Gamestop with the fury of a thousand dying suns, but
technically they are in the right here. OnLive is (sort of, not really) a competing service, and Squenix did admit to not telling them ahead of time that the coupon would be in there. Gamestop receives their copies of product weeks in advance, so this very likely could have been done an entire week before the game was even supposed to be released, and it only got leaked later. Legally they're (mostly) okay.
That said, however, doing this has damaged their reputation beyond belief (Such as it was in the first place) and even though this is in theory, completely legal, it's still super shady and sketchy.