The problem with APIs is that for each API one can make cross platform wrapper, and its works damn well Even DirectX which was microsoft flagship api to lock the users like you say can be wrapped, and some games do this.
On the other hand, an language, locks you very hard to vendor's platform. For instance if your code is in C# your only hope is Mono and with that your code probably be always of 2nd citizen quality on non MS platforms which is what MS wants.
About Go, I think you are right, chances are that is was really created as a research project at least without initial goal of vendor lock-in, something also evident from the fact that they did LInux, Mac, Windows, and even FreeBSD releases of their compiler.
But swift... I could only imagine how badly its entangled with Apple libraries...
Its two words: vendor lock-in. Having your own language that is only available on your platform and has tons of legacy software written in it is the wet dream of all these corporations. Thats why we are still stuck in the world of C/C++, as its the only compiled language that is guaranteed to be cross platform, and doesn't suck completely, (but still sure sucks).
I really love that everybody can mod the comments here, and number of mod points is unlimited. I really love to see pipedot take off, its just awesome in all aspects.