I created a USDC ATA and was accepting funds there.
I closed the ATA and recouped the SOL. This means the ATA's owner became the System Program instead of the Token Program.
Finally, someone sent USDC to the now-closed ATA that is owned by the System Program. Out of courtesy, since the recipient (the now-closed ATA) is owned by the System Program, a new ATA was created with the now-closed ATA listed as the owner.
Is there anyway to get the funds back? I could theoretically re-create the original ATA, but I would need a custom instruction added to the Token Program to do the transfer (the instruction would load the original ATA, see that I own it, and use that as proof to allow the transfer from the new ATA).