I have been able to fix this issue. It was indeed settings associated with the self-generated "Cadre" and "Staff" roles which were outside of the normal course and user level parameters. The definitive fix was to write new roles from the default student role, modify the settings I required for the roles, migrate the users in the old roles and then finally delete the "Cadre" and "Staff" roles which were the source of the problem. Once I did this the upgrade went without any hitches.
Hope this helps someone if they have the same or similar issue.