On rereading Joel's article, I think his argument boils down to:
He's not denying the need to rely on "external dependencies," he's advocating that such dependencies be localized. Why? Because when there are several external dependencies, they have a tendency to have internal dependencies, and you tend to need a very specific set of versions and it's a source of complexity and, therefore, application brittleness.
Hiding multiple dependencies behind a single dependency is A Good Thing. This is what I was getting at in my previous post about "touch once, fix everywhere." But I still don't see how this supports his thesis that Microsoft lost the API war, since API dependencies still exist. And it only supports the "Web Apps will rule" conclusion to the extent that the client value really doesn't depend on an external service (API). If you need to make music (which is only a shorthand for "things which, for connectivity, computational, security, or resource issues make sense to execute locally"), you've got to have a local API.