Maybe the post table is corrupt or needs optimising, for the user who you know has 7000 posts, go to admincp>maintainance>execute query and run this (but change it to suit, i.e vb_post your post table may not have a prefix so it would just be post)
SELECT *
FROM vb_post
WHERE username LIKE 'The 7000 post username'
If it returns all 7000 (and it will take a while) then the table is good and it's something else
--------------- Added [DATE]1337676524[/DATE] at [TIME]1337676524[/TIME] ---------------
actually that may be too intensive so use this same way
SELECT username, count(*) AS postCount
FROM vb_post
GROUP BY username
HAVING
postCount BETWEEN 6000 AND 10000
Just change vb_post if your tables don't have a prefix, this will give you a table of usernames with post count