For those interested, after a little bit of thought I found the issue.
I took a look at what "uidNumber" and "gidNumber" were defined as, as their schemas are also in the LDAP tree.
In my schema I was missing one key thing. The EQUALITY field.
Specifically, the schema should have been defined as this:
# {4}client, schema, config dn: cn={4}client,cn=schema,cn=config objectClass: olcSchemaConfig cn: {4}client olcAttributeTypes: {0}(1.1.1.1 NAME 'clientAccountEnabled' EQUALITY booleanMat ch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) olcAttributeTypes: {1}(1.1.1.2 NAME 'clientDownloadsAvailable' EQUALITY intege rMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) olcObjectClasses: {0}(1.1.2.1 NAME 'clientAccount' DESC 'A Client Account' SUP top AUXILIARY MUST ( uid $ clientAccountEnabled $ clientDownloadsAvailable ) )
All the best, Rob