Yes, if the e.DBObject is a BlockReference, you do not need to open it as BlockReference by its id. The e.DBObject is open for read. You simply cast it to BlockReference in order to access its Name property.
But if the e.DBObject is AttributReference, its owner (BlockReference is likely open for read by AutoCAD when the ObjectModified even fires, but we simply do not have direct access to it. The only way is via its OwnerId, as you already did.