Creating awareness is often rightly derided as an unimaginative advertising goal. But that doesn't mean it's an inherently bad goal. Indeed, if you share my conviction that it is the user who decides what your product/service means to them, then you could argue that awareness is all you can genuinely hope to achieve.
British Airways neither make grandiose claims that they won't match in real life nor do they fall in to the trap of boasting about their sponsorship status that, at best, comec across as faintly ridiculous.
They simply suggest that people don't buy their product and stay at home to support the home team during the Olympics.
Now, nobody is going to change their travel plans because of this campaign, but it doesn't matter if people take them literally or not. They'll register British Airways being supportive as a sponsor should be; a little something will be added to their opinion of British Airways, and when they want to fly maybe that will increase the likelihood of their being first name that comes to mind.
Just a small hint writ large is perhaps all you need.
Addendum: Sadly someone in their social media team ruins it by responding to a YouTube comment thus
Hi lethak - our 'Don't Fly' message is a tongue-in-cheek way of asking everyone to get behind our athletes for the Olympic Games. We understand people will still need to fly during the Games and we we will be happy to welcome them on board, but we will be equally happy to fly them after the Games if they choose to stay in the UK and be part of the #HomeAdvantage. Thanks.