To start off, NUnit is in no way deprecated and has become de facto primary unit testing framework for .NET.
However, as a testing framework, it doesn't involve compiling expressions, doesn't use LINQ or dynamic language constructs, and in its current implementation relies on feature found even in .NET 1.0, such as attributes.
However, with the release of .NET 2.0, a new CLR was shipped. Old .NET 1.1 assemblies had to be “remapped” in the application configuration file in order to be picked up by the new CLR, and people would get issues with running their .NET 2.0 applications with a library compiled for .NET 1.1.
When .NET 3.0 and .NET 3.5 came out, they didn't carry a new CLR along. Both of them still use .NET 2.0 CLR and only add some libraries (WPF, WCF) and language features (such as LINQ) with them. Because these releases don't bring changes to CLR, there is absolutely no sense in distributing separate library versions for them, as the binaries would stay exactly the same, referencing version of mscorlib found in .NET 2.0.
I'm not sure about .NET 4.0 and if it requires entry in App.config to properly load .NET 2.0-compiled NUnit library so I am open to comments on this.
There's a quote from NUnit blog explaining separate 1.1 and 2.0 packaging:
So, if it’s possible to run the
  original, built-with-net-1.1 version
  of NUnit under any version of the CLR,
  why do we need a separate .Net 2.0
  version? Strictly speaking, we don’t.
  But it’s convenient for a few reasons:
- Folks seem to have an inordinate amount of trouble getting NUnit to run
  under the proper framework version.
  Having a special version will make
  their lives a bit easier, not to
  mention mine, since I have to answer
  all the questions. 
- Eventually, we will need a separate version. It’s inevitable that people
  will begin to use 2.0-only features in
  their tests. Imagine an Assert on a
  nullable value. Or a generic
  TestFixture class. We’ll be able to
  deal with some of those things from an
  NUnit built with .Net 1.1, but many of
  them will either require .Net 2.0 or
  be much simpler to implement with .Net
  2.0. 
For now, the .Net 2.0 builds are
  identical in features to the .Net 1.1
  builds. We have reflected this in not
  changing the version numbering for
  now. Those using one or the other
  framework version exclusively can
  download a copy of NUnit built to use
  that version without missing out on
  any features. Those using both
  versions have the choice of installing
  both versions side by side – just be
  careful which one you reference – or
  using the command-line /framework
  option to select the correct version
  on the fly.
(highlighting is mine)  
However, it was posted a long time ago (November 2006) so probably by now the versions do differ.