When reviewing the Build History via the browser (servername:8080/tfs/DefaultCollection/MyProj/_Build), I find that there are numerous missing entries for builds which were triggered via gated checkins. When I filter on only that build definition, I find a handful of entries, compared to hundreds of code checkins.
All developers are required to use the gated builds, and all checkins show the telltale signs of success (NO_CI)
Using the API, I find the identical results, which is the root problem...
What would cause this behavior?
check the Retention Policy set on your build definition. By default only the most recent 10 builds will be kept.