The "R" packet is originated by the client, but I thought it is from the server side. :-)
So, it is definitely a problem of the client.
The differences between the LDAP APIs called by "ldapsearch" and "lsws" are: "ldapsearch" use synchronized API, lsws use asynchonized API in order not to let LDAP activities block the whole server process.
After digging into OpenLDAP's source code, we found that some of their asynchronized API is not really asynchronized, like "ldap_simple_bind" stays synchronized. there is no real difference between "ldap_simple_bind_s" and "ldap_simple_bind".
We switch to synchronized API when we need to connect to LDAP server in 1.5RC4 release. Fortunately, we only need to do it once per LDAP server, and the established connection can be reused for multiple LDAP queries.
So, in production, it is better to have LDAP server resided on the same server running lsws or at least to have two servers connected by high speed swithed LAN.
Please try just released 1.5RC4, hope it works. :-)