Every time Google finds a number of new back links (IMO 5-10%) in bulk it decides to do a complete reevaluation of where your site should indeed lay in the results.
It takes a period of time to collect all the information it requires to generate an accurate assessment of your sites true value and hence the constant movement within the results.
One factor I believe people overlook is link age. Its all very well to have x,xxx or xx,xxx backlinks but Google needs to ask it self, how many of these links are permanent, worthwhile and what value should I place on each of them. As a result the longer a link exists the more worthwhile it is.
So lets say Google gives a each link a bonus based on the age of that particular link, ie.
Each link receives a multiplier of x^2 where x is the number of months a link has exited for. So your 3000 links have each existed for 1 month ie link value = 3000 x 1^2 = 3000
Where as his links have exited for 2 months 1000 x 2^2 = 4000 therefore the value of his link structure outweighs yours.
The point I'm trying to make is that as each link ages it becomes a better indicator of site quality and relevance (if the site wasn't relevant the link would be removed). Please remember that there are a number of other factors that influence the value of a link and this is by no means the be all and end all of link value assessment, however it may explain the problem you are seeing.
If anyone's interested I have some more theory's on link values.
-aReJay