I've just been following a question where neither the OP nor any of the answerers seem that well versed in the ways of Stack Overflow and it has had 7 answers posted (5 still remaining) none of which answer the question in my opinion.
Currently the question is a bit of a mess and resembles a forum thread. The 5 "answers" remaining are either requests for further information from the OP or the OP's responses (which I have edited into the question)
One answerer has submitted two diagnostic queries to run that might give more information leading to the answer. We had a small discussion in the comments here where I pointed out that stack overflow doesn't work that way. No response to that so I'm not sure if they took that on board or not.
But the same user has actually submitted a comment that turned out to be the answer
The difference in record count is caused by ghost records. When SQL Server updates a record in a HEAP (table without clustered index) and the new value is to big for the old row position, the row is moved to a new location. The old location will have a pointer to the new location. That pointer counts as record internally but will never get returned or counted by any direct query. However, those ghost records can be a major performance problem because SQL Server resolves them right away even during a scan causing basically random disk head movements (per row) instead of a sequential read.
Would it be wrong to entirely replace the text in one of their "not an answer" with the text from the comment?