Portage 2.0.46-r4 (and probably the lesser ones as well) will try to fetch the source packages of an ebuild, even if there is a precompiled package available (build with 'buildpkg' in FEATURES). The solution seems to be to check if there is a precompiled package in $PKGDIR/<category> _before_ fetching the source package from the distrosite.
Are you using -k or -K ? if not then this isn't a bug.
No, I do not use -k or -K, but I still think it is a bug (or a missing feature, if you insist :). This is the case (using perl as an example): In make.conf I have 'FEATURES="sandbox ccache buildpkg"', the precompiled package for perl-5.6.1-r10 is present, but the source is not (packages are shared using NFS and distfiles are regularly cleaned up). When installing perl on another system, portage downloads the source package and after that checks if there is a precompiled package present, it locates it, finds it's newer then the ebuild and uses it. So it doesn't use the source package _at all_, that's the bug. Why should portage download the source package, waisting valuable bandwidth, both for the user and for the mirrors, and not use the source package. I think it's a total waist of diskspace, bandwidth and time to download the source package when a precompiled package is already available.
*** Bug 13180 has been marked as a duplicate of this bug. ***
Not a bug. It doesn't. emerge -K package forces binaries