@Anonymous hi,
first you need to understand how AutoCAD attribute block works:-
when you create a block on your screen by BLOCK command. the geometric definition store in database drawing (dwg) as Block Definition. to insert a copy (or copies) of that block definition on screen, you use INSERT command and by that you create Blocks Reference (also known as Inserts). by entering to BEDIT command you can modify the Block Definition and on eXit\Save the drawing is regenerated to reflect the block changes to all inserts - up to here are you agree?!
Why when we use BLOCK command we end up with a block reference (insert) already inserted in? that's because the block command interface do two tasks in a row (making block + insert) to make it easy for us 😀 this is 'new' in AutoCAD. in earlier versions this was two tasks.
Now lets talk attributes:
when you insert an attribute block, the attributes become path of the insert that's why when you modify the attributes in BEDIT they are not update and for that you need BATTMAN Sync or ATTSYNC command and even than, the attributes values is preserved (all other properties are update) the reason for this behavior is to prevent accidentally lose of attributes\values.
on double click on attribute block you directly modifies the attributes on the block reference.
on BEDIT or BATTMAN (with out sync) command you modify the attributes only on the block definition.
Does that answers all you question?
Moshe