Dependency breakage is certainly an unavoidable problem. However, I think Haskell is also in a much better position for having a technical solution to the frustration of breakages.
Barring issues with changing datatypes / class instances, we can already express many of the API changes you'd want to make to some library [1]. Now, no one actually does what this proposal suggests - it's a lot of work, and it doesn't work in general. However, the fact that Haskell makes something like this seem reasonable is heartening.
Of course, even if we had good tools that automatically refactored code to use new APIs, it wouldn't be possible for any non-superficial changes. Even so, if a good enough refactoring tool existed, and it was popular with both authors and users, a lot of the annoyance of dependency breakages could be removed.
-Michael
[1]
http://haskellwiki.gitit.net/The%20Monad.Reader/Issue2/EternalCompatibilityInTheory