If you want to delete an attribute definition from a block you can. You just need to get the attribute object and delete it. The change will affect the block definition but not any previously inserted instances. You'll need to perform an attsync or similar method to update all instances to the new definition.