Unfortunately, upon adding the check to make sure a user has DOWNLOAD permissions, I forgot that this does not check if the user is part of a Team that has download permissions.
So upon copying, projects that had public download permissions were not being copied. This is affecting our archive project submission tool, which uses synapseutils.copy.
Is there a rest call that checks if a particular user has permission to download an entity.
Edit: There is a rest call, i fixed the PR