This happens because you are binding anonymously. Windows Server 2003
requires authenticated binds to perform operations by default while Windows
2000 does not and will allow anonymous searches (although with limited
results).
My guess is that you probably thought your app was binding to the directory
before but it was not. It also could be the case that you had Kerberos
delegation enabled for the old DC but not for the new DC, so you application
is unable to delegate. When you have a web app that attempts to bind to the
directory with the credentials of the authenticated user instead of a fixed
service account (essentially, you have impersonation enabled), you must have
Kerberos delegation enabled.
Joe K.
--
Joe Kaplan-MS MVP Directory Services Programming
Co-author of "The .NET Developer's Guide to Directory Services Programming"
http://www.directoryprogramming.net
--
"WillG"