Not quite the same point - but similar thoughts: http://bit.ly/N9HnAD. What's really missing is a proper service contract. Not giving guarantees - or at best implicit ones will kill ecosystems.
I don't know if I agree with your suggestion that the reason Twitter doesn't charge for their API is that they don't have a proper service contract (or by implication an API infrastructure). Some services make little sense until they are 'large' and getting 'large' is hindered by cost.
What Twitter doesn't have is a 'freemium' model of API access, but I don't doubt they will get there eventually.