I think emerge --world update shouldn't update a package when there is a package installed which have a RDEPEND on an older version of the package (except for package which support having two versions installed simultaneously).
This is fixed in portage-1.8.9_pre35 (in testing)