So what happens under Net::LDAP. Was "1000" was actually being treated as less than "500"?
No, not at all. The server just didn't knew how to actually _compare_ in this way. I did some research and found that, in fact, there is no predefined attributes in openldap that can be compared by 'less than' or 'greater than' comparators. You have to define your own attributes =)
As to difference in behaviour, ldapsearch untility shows similar results if you give it the right search filter - that is,
ldapsearch -h 192.168.9.111 -D "cn=root,dc=lomonosov,dc=parallel,dc=ru
+" -w "rootpw" -b "ou=slurm,dc=lomonosov,dc=parallel,dc=ru" "(&(cn>=60
i.e., it shows _nothing_ =)