Actually...
I'd still do the following:
1. Make a backup of the Library you have (the messed up ones with the m01p addresses).
2. Clone it over to a new Library and then delete the original one you made. Hopefully this will just "fix" things, but maybe not. It still might help clean up some of the "underneath" and isn't a bad step. Alternatively, you could make a new Library, and then restore the backup you made in Step 1 to it.
3. Make another backup of
this Library. And, assuming it isn't just fixed already, then...
4. With the new Library, you could try (instead of removing all of the existing "broken" files), use my
MCFileIngester app in Replace mode to replace them with the new "copies" (the real ones on disk). Since the single-file mode works using a filename source, I don't think it'd work one at a time.
However, if you use it in Playlist mode, it should. Add ALL of the files in your Library to some pre-sorted Playlist. Make sure you can replicate the order (I'd probably go by Filename). Then, import the "real" files. Put them in a second Playlist in the exact same order. Then, run MCFileIngester in Replace mode using the appropriate Source and New Playlists, and it should work.
It doesn't use the Rename, Move, and Copy tool, or Find and Replace, but operates directly on the data in the database via COM. There's no restriction on what I can write to the files.
The problem might be if those file records are marked as "special" in some way other than by a field in the database. I'm not sure how this works. I could look at one via COM, I suppose, and look through all the fields. But, it could be a full "database" flag of some kind (in that case, though, just doing #1-2 might fix it. Still, it clones all of the Fields from one file to the other, and then replaces the original file record in the Library with the new one. It might just work.
If not, you can always just restore the second backup and do the re-import anyway.