Hi flo- you can use BlockEdit to change the layers of the objects that are in the Block definition so that no part of the underlying definition resides on the layer you want to delete.
In V4 it will be more complicated for sure, but what you can try is the attached plug-in for V4- the command is InPlaceAssemblyEdit and it behaves similarly to V5’s BlockEdit. It is a prototype and not as reliable but it may get you what you need- that is, edit the block and while editing, assign all of the objects to some layer(s) that is not the one you are trying to delete.
In case anyone in the future (i.e.2017 v5) looks at this thread, the link to the wiki page is very helpful.
In it, there is the suggestion to use “Purge” command to get rid of unused Blocks. This worked for me - ***NOTE: Check out the options in the command line so you don’t mistakenly get rid of other things you’d rather keep, like layers, et al.