you can blame the BC or the App or the velocity, but first, rule out your other measurement assumptions. Have you checked if the turret is true by measuring on an 8'4" tall ruler at 100 yards, as measured to within a couple of inches of accuracy? Long distance lasers (with a +/- 1-2 yard accuracy) and tall targets are incompatible, you need a Leica Disto D2 or a 100 yard tape pulled straight and taut and everything must be perfectly level during the test. So be careful before doing this test. Being off by two yards short at 100 for the 8'4" tall ruler test means you will read 2% error. If your turrets are 2% too "small" meaning they turn .245 MOA per click instead of .250 per click, you will not discover the error - your scope will match the 8'4" ruler test and you will think your scope is true but it is actually 2% short because your test ruler was 2% short. If your laser measures 2 yards (2%) too long, and your scope is 2% short, when you measure, you will measure 4% error when your scope only has 2% error - you will put into the ballistics computer that your clicks are .24 MOA when they're actually .245 MOA. And this is all assuming that you don't move the scope during the test and build in other errors. So there is no point in looking for a 1-2% error in your turrets unless your measurement/calibration procedure error is less than 0.5% or 6" at 100 yards. You need a Leica Disto D2 or a 100 yard tape measure, pulled straight and taut to do this with any reasonable accuracy and reliability.
40/38.8=3%, so that would be a lot of turret error, but errors can be additive and I have seen turrets be 3% off. What scope are you using? Turret trueness varies widely across brands and models.
Next, are you ranging the actual target or the knoll behind it? Ranging error with beam dispersion is a major source of error at longer distances, especially if you are not using a tripod to keep the laser stable.
Are your inputs for incline, DA, temperature, etc. exact and monitored at regular intervals during a shooting session? Temperature change of 20 degrees during a shooting session can cause large error, compounded by powder temp sensitivity (hotter air, less drop; hotter ammo, faster speed, less drop than predicted.)
Is your powder temperature sensitive? Are you measuring velocity with the shots at 1000+ yards (magnetospeed attached or labradar used) to make sure your zero velocity is accurate for the longer shots shooting session?
Is scope height precisely measured? Is the scope perfectly level using a plumb line at distance (not the scope cap method - that's the quick and dirty and error prone method)? If scope is canted, that cant takes away from elevation and makes it the hypotenuse of a right triangle, which must be corrected for but cannot be if the exact cant is unknown.
All of these things are unknowns and potential sources of error until they have been exquisitely accurately measured
The industry standard is AB G7 or their custom drag curve which you can purchase for $9.99, the cost of just 5-10 rounds. Personally I would not mess around with a G1 off the box. Penny wise and pound foolish.
Up to 800 can be done with sloppy methods and a .308. It's past 1000 where every variable counts.