This is correct. Depreciation run is a technical process that is done on company code level. Normally it is scheduled by IT, not by the person responsible for certain assets.
So you should rethink your process. You should definitely not try any enhancement that interferes with the standard posting logic. Also the purpose of asset blocking and shutdown is not to temporarely exclude an asset from depreciation run. The right approach is to just run AFAB on company code level.
Best regards, Michael