Today NuGet's versioning policy gets the lowest major and minor version but highest build and revision for dependencies (http://blog.davidebbo.com/2011/01/nuget-versioning-part-2-core-algorithm.html
This causes too many issues:
When package authors release bug fixes in newer patch version (build/revision) NuGet makes it "practically" impossible to install older versions of these packages. This really hurts for nightly builds and prereleases. Here's an example:
Today if you try to install Microsoft.AspNet.SignalR -version 1.1.0, you'll get 1.1.3 versions of the dependencies. Also if you try to install Microsoft.AspNet.SignalR 2.0.0-beta2, you'll get rc1 for the dependencies.
You can argue that if the package author really wanted to be strict about dependencies that they could use a version range, but we all know upper bounds on packages make things harder to use together and is a non solution.