The code for bug #303567 will not work as intended with the new-style virtual/libc and virtual/os-headers virtuals since we have to check for version changes in the dependencies rather than the the virtuals themselves. Bug #364673 is also related.
*** Bug 364947 has been marked as a duplicate of this bug. ***
This is fixed in git: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=b33d96f3f60a494ff528a3bd0671a3d0fa6682e8
This is fixed in 2.1.9.47 and 2.2.0_alpha31.
There's a related fix in 2.1.9.50 and 2.2.0_alpha37: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=75b0a8aed8e56f02c0b455b4ee31fdc7e2b464cf