Regarding #1: this is not true always. Libraries publish types and their type definitions could use new TypeScript features that could force an update.
I've also seen changes to the type system that break existing library typings. (e.g. when they started strongly typing generators.)
I suppose this only happens when you're using the more strict compilation settings, but that's a major draw of typescript in the first place.