I know about the issue and i am searching for people (dwg file, pc , enviroments) who can replicate the issue.
You are not this human? OR?
But thats one of two problems.. spontaneous and the second is, it is hard to remember that this problem happened in the last few steps.
Note one important fact, the BEDIT is working very crappy: Every(?) time you saved a blockdefinition in bedit,
acad creates NEW objects for your content and remove the "old" source objects from the block.
(refedit is working well, it editing the existing objects, so you will not have that issue with refedit or if it does you get only the old definition)
At one point of working somethings going wrong,
from this point on it is my personal opinion, and a small part of it can also be proven.
The step of saveing goes wrong. I dont not more but it looks like that.
Acad stored the old information somewhere in the file(not in the block) and the new version (the current blockdefinition).
But: You can not see the problem now.
Here one might also suspect a problem with incremental storage of AutoCAD, am I correctly assuming you are using this? (ISAVEPERCENT >0)
Maybe it would not happen if isavepercent is set to 0 - I dont know.
If you run AUDIT (yes) or open the (saved) file with recover/recoverall..
Acad re-store the old original objects (same handle, so the same objects)
Add to your current block definition, you have the old and the new block content in your block definition now.
But: You can not see the problem now, but now the old objects are inside the blockdefinition.
You have to regenerate your current viewport, run REGEN command or open the block via refedit or bedit
And: Now you will see the old objects if they are noch identical to new objects,
but you can select them in refedit or bedit.
It is a database problem, i am sure it is a problem which exist in some session (or at the point of save the file),
the are some informations to what i have but it isn' senseful to write more at this point.
I wrote to a Technical Support Specialist @Thomas_Stuehle, but he never heard more from the programmers
or he forgot to pass on information to me. Perhaps Mr.Stuehle should talk with @john.vellek about it.
But i am sure the only one who can find the problem is an autodesk programmer who know exactly
which steps the program is doing at BSAVE and perhaps it is needed to know how the isavepecent feature is working in detail.
Only searching for the problem from the block/file to the source issue is almost impossible if it isn't reproduceable.
For me as a simple draftsman i was surprised that acad can re-store objects which are "deleted" before one ore many sessions before.*
My only explanation of where Autocad can know the information is isavepercent, because
normally a deleted object is discarded with the closing the file after saving - (my knowledge).
The only way for acad to get old informations is by using isavepercent. (every one can correct me - if he can)
but it is only me 😉
*don't ask about, i can it proven with a sample files from a client which are of the state "before the problem comes in database" and of the state "after bedit, but before audit" - but i can not say which steps was between them and i couldnt replicate it on my own system.
I heard multiple times of the same symptom and not only for internal user blockdefinitions -
it was also the whole modelspace (which is es block too, that you editing every time).
I can not be sure that this was the identical sourcs issue, but it seems to.