I got daring and installed Gentoo w/ gcc3.1 on one of my systems. So likewise I had to comment out gcc3.1 from the package.mask along with the new Perl release... 5.6.1-r4 (cause -r3 doesn't compile with gcc3.1). I also chose to install Mozilla 1.0rc3 which I had to unmask. Now we come to the root of the problem. I do emerge rsync and it updates but when I run emerge -pu world it wants to install Mozilla 1.0rc2 and Perl 5.6.1-r3. Which would quite obviously be a downgrade. Granted it's updating the package.mask so the packages I picked aren't filtered out anymore but it should still see there are newer versions installed and not try to downgrade me. This problem does not exist when I make my own ebuild that's a newer version and install that then run emerge rsync. It does not suggest a downgrade then.
That happens because of the way package.mask has those things specified. Those specific revisions are masked in it. I am assiging this to the portage2 folks, because there is something in the works about this kind of thing.
I'm going to close this one out since I'm the one that reported it and it was back when I was naive. I understand now.