I wouldn't go so far as say that Square and OnLive were in the right, but Gamestop was definitely in the wrong.
They don't rip the GFWL or Steam logos off of their game boxes. They don't check all of the inserts for every game for any sort of advertisement. They don't pull the MS points or Xbox Live cards, despite the fact that it exposes customers to the Games on Demand service.
Basically, there was a promotion that was actually valuable, and Gamestop abused its position as a retailer by trying to pull one over on unsuspecting customers, rather than dealing directly with their vendors like every retailer should.
Still, it sucks to know that this could have all been avoided with a little openness. However, it's best to blame the party that actually screwed over the customers.