Yup the clean-up is a sticky mess to get into. After a messy upgrade a few years ago from TS2010 to TS12, I thought it was time to do a bit of clean up. I spent about a month eliminating stuff that didn't have dependencies and what I though were just collecting data bits on my hard drive as they took up space.
Then I downloaded a route, and a bunch of the deleted content ended up coming back in again.
So much for that exercise!
The problem too with archiving off to CDPs, especially with your own content, is the KUID numbers get out of synch. When we reinstall an older asset with our ID on it, we risk overwriting and replacing another asset because Content Manager, and the underlying TAD (Trainz Asset Database) doesn't look at the KUID being installed and compare that with one that's already installed. There have been more than one case where restoring an older route has resulted in another dependency being obsoleted or replaced. 
This is a bug, even if I've been told otherwise, and not a feature. We would think that this kind of thing would be tracked by the TAD and Content Manager. A simple get KUID, compare KUID routine should be there to ensure that data is not inadvertently overwritten.
Should an asset already have the same KUID, then the asset being restored should produce a dialog box to inform us and to offer to update the KUID to the latest one on the system. In the case of routes with sessions, this might be sticky, but it's possible to upgrade those too even manually if needed.