I don't know why Digest auth is failing here. Eliminating the Sealing flag wouldn't be a bad idea but that should not matter as the encryption does not start until after the authentication succeeds (that is how the key is bootstrapped) and you aren't getting that far.
The only thing I can think of here is a case sensitivity issue with the display name, but using all upper or lower case should work in either event. Checking the security event log on the ADAM server may provide more detail as to why it won't work. I'm basically out of ideas though. :)
That said, since you do have functional SSL, you should be able to live without Digest auth and still have secure binds and password operations. The key thing to determine is whether it is faster to create the users with a non-SSL connection and then go back in a second batch and set passwords or to do the complete user provisioning in a single LDAP Add operation.
My guess is that the single operation approach will be fastest, but as with all perf stuff, you always measure and never assume.
You might also be able to get a nice boost by using multiple threads or processes to batch up the add operations or to use LDAP asynch operations on the client side for the actual Add operations. All that adds complexity though.
One thing I have seen people do is to simply batch out the add operations into a bunch of LDIF files and do the provisioning from the command line by running LDIFDE multiple times. There isn't a huge reason why this type of thing needs to be done in code.
Best of luck!