This is a very bizarre and interesting one, which you also realize or you wouldn't be here.
So bizarre in fact, that nothing can be trusted or taken for granted.
The fact that update library from tags works would imply that MC is configured NOT to write tags to files. Have you checked that?
Have you checked the modified time stamps on the files to ensure they're not being touched?
I will make four wild guesses for you to check:
1. You could be wrong about auto import. Go into the config for all of the directories you're watching and make sure there is no tag writing going on.
2. Something like this could perhaps happen if you executed a strange drag and drop operation. Are you using a trackpad by any chance, instead of a nice reliable rodent, and might perhaps experience the occasional inadvertent drag and drop?
3. Look for other programs or persons (kids) or background process that could be messing with the files.
4. MC database corruption. If you're sure all your files are tagged correctly you can do the following:
- export all your playlists to save them.
- turn off auto import
- delete all your audio files from the library
- use the deleted files smartlist (google it) to delete all memory of the files from MC db
- reimport all the files
- reimport the playlists
If all your tags are stored in files correctly, you will lose nothing, but all the internal file references will be recreated. So you won't lose all your settings as you would with a new database/library. Your "date imported" field will get reset with this, however. If you care about that, you can copy it to a custom field first, save that field to file tags, then copy it back later after the reimport.
Maybe someone else will have a better idea if you don't like any of this, but you have found an interesting problem.