"The -dev package should depend on all -dev packages for libraries that the library package depends upon..."
But this is actually a very strict requirement (since you are pulling in many -dev packages you don't even know through dependecies). And it generates quite long Depends: list for -dev packages. From what I see, few -dev packages follow this practice. For example, our scim-dev package don't do this.
The point behind this requirement is that library header files include library header files from other libraries, and so depend functionally on the presence of these header files, even if this dependency may not be required for the part of the API the application is using. Thus, the application's build-dependencies would be too broad (since it doesn't use the library, why should it depend on it), but nevertheless neccessary since the unneeded parts in the header file would still fail to compile. The only packages that can be omitted here are build-essential packages.
In essence, this means that if your library depends on another library and this is reflected in the header files (which it obviously is), your -dev package needs to depend on the other library's -dev package.