Given what .pmc is for, I'd say reporting it on the .pm is correct. If you're abusing the mechanism, you get abusive error messages in return.
Even in original intent of .pmc, both in the .pm and in the .pmc, (different) things can go wrong. And they should be reported from the right file. Especially reporting an error in a file that doesn't exist is a bit silly.
For example, with the original Bytecode/Byteloader stuff, the PMC loads Byteloader with a version check. If that version check fails, the error is reported from the PM, which has nothing to do with the error. That makes debugging hard. Hiding the fact that there's another file involved, is bad.