Unfortunately, that's not necessarily true, it depends on if you have the cache lib on your list or not, and other things. It's quite easy for a library part to be loaded from it's library instead of the cache, and when you save the schematic file the cache file will be overwritten
Also Rene, and I can't emphasize this enough:
The behaviour in nightly builds may be quite different from the stable release, so saying "it works fine for me" may be very misleading.
@pauls969 The schematic cache is less useful than it could be, and also apparently contains pitfalls even for experienced users. I find it causes problems and often gets in the way.
Some history, pcbnew "caches" footprints in the kciad_pcb file, but eeschema caches into a standalone file and not the schematic. The idea is that the project can then be "standalone", but in practice it doesn't always work like you might expect. In addition, symbol references are context sensitive depending on the library list. (I believe both these things may change in future, but not soon).
Guidelines I try to follow:
1. In normal use, ignore the cache file. Load symbols direct from libraries, save edits back to the library (or a new symbol with unique name if changing an existing official symbol).
2. When you publish or archive a project, delete all the existing library entries. Add the cache lib to the list. That guarantees that the cache symbols and only those will be used.
The symbol rescue is an extra spanner in the works, I find it often kicks in incorrectly, but cancelling the dialog is I think always safe.