kly (sorry for the late reply; I'll admit having forgotten about this thread,BA's I had visualized your last messages and it marked as read).
Have a look at the sets lists. When a change marks some files as deprecated/– meaning they're destined to be removed in the following release – the developer will flag those files as obsolete in list of the set they belong to.
There are machine-dependent (MD.arch) and machine-independent (MI) lists. This helps filling the changelog across major releases.  For  instance, check out the current mi list for the base set and look at the obsolete flags.
 
The build process extracts obsolete-tagged lines from the sets lists and adds the corresponding files to /var/db/obsolete/${set}.  
At the moment of  upgrading an existing NetBSD installation, after all the sets have been untarred, post install(8) will test the system  against filenames found in /var/db/obsolete/* and delete any obsolete files that it finds.