I wouldn't replace it, but I would add the files to War3Patch.mpq (using StormLib, SFMPQ, or your lib) and run wc3 as a child process. When wc3 closes for whatever reason, you can delete the files from war3patch.mpq and compact the archive. There might be a better way though, I haven't tested it out.
As for local files not working--I haven't heard of that issue. If I were you, I would make a simple test case: enable local files through the registry, and then have him copy some random model within a file directory that overwrites the peasant model. (e.g. Units/human/peasant/peasant.mdx, or whatever the path may be). Just do it as a sanity check to see whether the problem is the local files flag or just your map.