Earlier this year there was some problems updating packages and I used package.mask to get over it. There is also a better way to handle this so that the package is not updated until it's really needed.
Gentoo Weekly Newsletter: 7 May 2007 writes about user's problem with keeping a specific version of MythTV.
Jesse Adelman wrote into gentoo-user to ask how to be able to do an emerge -uDN world, but have portage not update one package. Jesse had a version of MythTV that had been removed from the tree that he wished to keep. However, the version in the tree was between a newer and older version, thus causing portage to want to downgrade if he simply put the newer version in package.mask.
Vikas Kumar suggested the often forgotten /etc/portage/profile/package.provided. A package placed in this file will not be updated unless another package necessarily depends on a newer version. Developer Zac Medico suggested to instead simply mask the package versions that are both higher and lower than the version Jesse wanted to keep, which is the best solution.
Using package.provided seems to be a nice solution but everything goes.