If you were talking about trying to save changes to an "xref" dwg -- not a "block" -- I might be able to help you. If you're truly working with a block, though, unfortunately I can't offer much help at this time. (I would suspect, though, that the block was created without floating properties made possible with BYLAYER and BYBLOCK settings. You might also explore the ATTREDEF command but read up on it first, using "Help", as it redefines a block and updates associated attributes... while removing any format or property changes with the ATTEDIT or EATTEDIT commands).
If, by chance, you're making changes to an "xref" drawing's layers (freezing, changing colors, etc.) within a host/current drawing and those changes aren't permanently saved within the host drawing's layer table beyond one session (meaning when you re-open the host drawing it has reverted back to the original xref-dependent layer settings), then you need to look into a system variable called "VISRETAIN".
To make xref-dependent layer changes (made in the host/current drawing) take precedence, type in "visretain" and set the value to "1". Layer settings will then be saved with the current drawing's layer table and persist from session to session.
~Julie~