Hello Alistair,
What I can suggest in your case is that you can view, which Security Roles are assigned to a certain user and over which objects, and, also, which Security Roles affect a certain object. So, if you want to track the reason for a certain Access Denied error, you can view, which Security Roles affect the object that you are trying to access and which permissions they grant, and track the Role that grants the necessary acces. Then check, if a specific user is assigned to the necessary Security Role and over that object.
On how to view Security Roles assigned to a user, see Viewing Security Roles assigned to Users or Groups.
On how to view Security Roles that affect an object, see Viewing Security Roles Effective for an Object.
As to the issue with failing to auto-generate the password or view the password policy, this issue occurs because you denied the access for the user to the root domain object (the Domain-DNS object). The object contains information on the password policy that is applied to a user, and since the user has no access to the root domain object, he can neither view the policy applied to his account nor get the settings of the policy relating to password complexity, minimum length etc that should be taken into account when generating a new password.