There are three questions, so I divided my answers three times. Please read all :-)
How can I solve this problem?
This is a common problem with a common solution to solve it.
The compiled code includes a link to "mscorlib, Version=1.0.5000.0
Most likely, because you did not use the compiler with Xamarin.iOS (MonoTouch), called smcs , to build the assembly. This compiler has set up links for using the right assembly mscorlib.dll (and report everything that is not in the MOBILE profile).
The fact that it can work for Xamarin.Android is that it uses JIT (only at compile time), so missing elements will not be found until runtime (and if execution reaches this code).
OTOH Xamarin.iOS uses AOT (compilation by time), since JIT'ing is not allowed (Apple) on devices. This means that the missing members are in the build . In this case, the (managed) linker cannot find the link and throw an MT2002 error.
So, the solution is to rebuild the assembly using smcs and fix, if any, build-time errors. For instance. IIRC that the RNGCryptoServiceProvider ctor is unavailable (and does nothing, since seeding is not possible) and should be replaced with the default ctor.
Should this library work in MonoTouch and Mono for Android?
Must. However, my personal experience with Novell.Directory.Ldap was not really good (problems with code and design, for example, streaming, in particular with SSL support).
Also, the code has not been updated for quite some time. You might be better off looking for (managed or native) alternatives for your LDAP needs.
Are there any better LDAP solutions for Mono?
Unfortunately, I did not use another similar library, so I can not offer alternatives (but maybe other people will be able to help).