This has been seen both with MSBuild, GCC, and custom parsers.
A build has e.g. 82 warnings, up from 65. On the build status page, it's reported as 28 new warnings and 11 fixed. When clicking through, I might get actual lists of 18 new and 1 fixed - that was the case the other day.
Today, when I look at that build, it apparently has forgotten all warnings and display any of them.
The custom parser has a tendency to report that all warnings are both new and fixed. At least it's e.g. 10 warnings, 10 new, 10 fixed. These warnings are given at file level, so I let them have line number 0. This used to work fine.
My users are rather impatient with regards to this, so it's hard to get a good consistent view of what's happening when I change something, but I'll try to see if I can get some "better" info.