Scope height is the most critical measurement for having your chart read correctly, assuming the chronograph is accurate. That measurement will affect close range (under 100) and midrange, even if a long range, say 800, is accurate. If everything is correct, I'd be sure you're using the correct absolute pressure from a meter, and not what the local weatherman says. I have Zeiss RF binos, and couldn't seem to get the Zeiss app chart to agree with the RF. I physically knew 800 yards was 12 moa. I was updating with the local weather. That was the problem. Once I used the absolute pressure from the built-in weather station in the RF to the app, every thing agreed.
I too think he has data input errors. Many of my clients fuss with the apps and get the data wrong. Often, it is the atmoshperic data. When I first started using an app 8 years ago I had the same issue and was using ab pressure and altitude combined. Once I figured out that using AB and altitude is wrong I was good to go.