running v2.1.22 - and with every Openldap version I've ever run since 2.1.4 - I have the following objectclasses for each posixAccount user:
top person organizationalPerson inetOrgPerson posixAccount shadowAccount inetLocalMailRecipient
So, your problem has nothing to do with schema conflicts as such.
Error 69 is not telling you anything other than that ldapmodify (ldapmod()) can not do what you want at the moment - it just doesn't tell you why.
Quite another thing is, that if you're making the jump to 2.1.x, this should be 2.1.22 and your database should be BDB 4.1.25. But that's another story :)
Jon