It's the difference of "donated by" and "donate to."
"Support a charity in order to get this item donated by company" does give that company some PR, but it gets that PR from the donation. They aren't directly saying anything, the charity is, and the company gets a little push in a symbiotic way. The cause remains the charity, the item is a reward or incentive. You could donate, receive the item and throw it in the trash or give it away and never support the donating company.
"Give money to a charity in order to support an different agenda" is ongoing. It implies a relationship, because of the normal form of that kind of phrasing, i.e. "give money to cancer research in order to fight cancer." If someone had said, "wear a yellow shirt to support changing ME3's ending," it co-opts yellow shirts. Unfortunately, "donate money to support changing the ending" co-opts the donation/charity in the same way.
If Bioware was saying, "donate to a charity and we'll make a new ending," that would be a real fuzzy grey area. On the one hand, it places a lot more focus or emphasis on Bioware than with a traditional donation. On the other hand, one might argue Bioware has donated its employees time and expertise.