Not a new problem
Wasn't that long ago this argument was applied to writing software in general. In the very beginning, it was the "modular" versus "spaghetti code" problem, going back to green screen days. There was also focus on user interface standardization, IBM made huge effort there to make sure F3 key was used for exit when possible.
I've never seen a book/tech article yet that talks about best practices in API creation. It's great Ancestry has addressed internally but this is really an issue that needs to standardize across everyone, like the idea that modular top down code was better then spaghetti branching all over the place.
I wonder if API's are the final solution anyway. I tend to think this might morph into what goes on in OOP, where you can take a base class and extend it with much more functionality. Then we'll get back more what source code offered over API's.