The user was a member of the organisation. I had already checked that all three team members were members of the same organisation, which made me think it was a user problem. After a second attempt of generating a new code, and copying the resource, the problem was finally resolved.
From anon848905’s research into the history of the user, it would seem that the code we first had was the initial temporary code from before he was approved. My first attempt at generating a new code gave him resources but not source text. It must have been to recopying the resource that gave him the source text.