This is the third time today I've tried to get SW to update an assembly. I deleted an old component and inserted/mated a new sub-assembly (similar parts but no common file names to confuse it). I save the assembly and close it and the next time I go to open it get the message "internal ID doesn't match". I've checked that the references are pointing to the correct directory for the new subassembly. I've verified there isn't a file with the same name in the directory where the upper assembly reside. I can open the subassembly and then the upper assembly and still get the same message. The last time I told it don't use the version of the subassembly that had the mis=match ID, inserted a new copy, and then it magically decided to re-insert some additional copies!
What (if anything) can you do to get SW to actually update a file when you make a change?