Some digging reveals that that is very old code, probably from the dark confused ages.
I think it'd be more natural if fc would contain the straight paths, without any suffix chopping. That way there are only two things: Either a name in the module namespace or a path in the filesystem (or possibly a relocated path if PIKE_MODULE_RELOC is enabled). No tricky intermediate varietes. Am I reasoning too simplistic? Is there a reason to chop off the suffixes in this case?