wouldn't ATTREDEF do pretty much what you're looking for?
Insert an instance of the new block. Explode it. Use ATTREDEF to redefine the block, selecting the new attributes. The rest of the blocks in the drawing are updated as well, attribute properties included.