a. why don't you opt for using System.DirectoryServices (.net Com wrapper
for ADSI)
b. have you got anonymous set to off on you virtual directory
c. Add the following line in your web.config :
<!-- Enabling Impersonation-->
<identity impersonate="true" />
d. the user trying to access the information needs to have DOMAIN
permissions on that active directory object (in this case the OU's)