How are you defining end of life?
What business needs are there for keeping the relationship information?
Are related items likely to be related to something new? If so, are there cardinality issues?
I wouldn't suggest that there is any one, correct approach. This should be driven by your business need. What are you using your CMDB for and what information do you need to provide to support your IT processes.
EOL are CIs representing infrastructure etc that are no longer existing. We need to be able to track down historical data but not nessesarily in the ASSET dataset and it is not user friendly if the data looks the same when in production or discontinued.
So the question is more technical and I am interested in different technical ways to solve this.
We keep our CIs in the asset, even if they have already been scrapped or sold.
For us, the relationships to incidents and changes are important, as are the device information for evaluation and reporting to our regulatory authorities.
In the asset module, we use the corresponding status values in the life cycle.
Since version 1902, CIs can also be archived in the CMDB. I haven't tried it yet, but the idea corresponds to the other transaction data. Fewer entries in the productive views/tables. It is exciting to see how this new approach is compatible with asset management.