Portage used to write list of packages that are installed but became masked or removed, during emerge world. Now it seems it doesn't anymore. Tested by installing package (into world file too), masking it by profiles/package.mask, then even removing, and trying emerge -uvaDN world. Didn't see any warning. We also thought that this feature could be extended by printing also the package.mask comments, the same way it prints when you try to emerge p.masked package manually. If it could continue to print this (e.g. last rites) message even after the package is removed, it would actually start making sense to leave last rites in p.mask for some time after the removal :) Jakub also suggested that portage would refuse to do anything until a p.masked package is uninstalled or locally unmasked, but that probably needs more discussion. And what would that do for removed packages, force to uninstall or find teh ebuild to stick in local overlay?
I think it's important to distinguish between masked packages and removed packages. If portage doesn't "just work" with removed packages then you get behavior similar to bug 48195 that many people consider bothersome. One important case for "removed" packages for people who want to use binary packages that aren't currently available as ebuilds in either the main tree or overlays. The user should be able to install such binary packages without receiving unwanted warning messages about non-existent ebuilds.
In svn there is now some support to show more warnings. There's still some more work to do, like add support in emaint to check for masked packages.
This is fixed in 2.1.4.2.