I have been running into the same error when using the External Collaboration Toolkit for SharePoint. External users are authenticated against an instance of ADAM. The environment is Windows 2003 Enterprise Edition R2, WSS 3.0 and ADAM all running on the same virtual machine. The server is joined to a domain.
External users are authenticated using forms authentication against the ADAM instance with no problem. Then, some time later (maybe 30 minutes or so) authentication stops working and users receive the, "LDAP server is unavailable" message. If the IIS application pool is recycled, then everything starts working again for a while.
I have been using Windbg to try to track down the problem.
The exception occurs in the System.DirectoryServices.Protocols.LdapConnection.BindHelper method. I viewed the following serverErrorMessage attribute of the LdapException using Windbg:
Name: System.String
MethodTable: 790fd8c4
EEClass: 790fd824
Size: 334(0x14e) bytes
(C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)
String: 00002035: LdapErr: DSID-0C090E26, comment: Fast bind mode can only be invoked on an unbound connection. This connection has already been bound.
The _message attribute of the LdapException was, "The LDAP server is unavailable." The errorCode attribute was 81.
Does any of this help to track down the problem?