I have a hint and it points to the "same rpms in more than one repo"
hypothesis.
yum -d 5 lists a lot of
excluding for cost: firefox-3.0.11-1.fc10.i386 from updates
excluding for cost: gnome-session-2.24.3-1.fc10.i386 from updates
[...]
I see something related to cost handling fixes in the yum Changelog.
My guess is that elements are removed from an array one at a time
and everything after that is moved back one position.
Or some inefficiency of that kind.
You may be able to reproduce it by configuring two updates repos.