Jeffro,
The most common reason for 'observed' trajectories being different than 'calculated' trajectories (assuming of course that the inputs to the calculation are truly accurate) is sight adjustments.
Most shooters take for granted that when they dial 30 MOA on their turret that the crosshairs actually move 30.00 MOA. However, in many cases, the crosshairs don't move exactly as advertised. You're very likely to get +/- 1/2 MOA or more error when you make large sight adjustments. This results in the bullet striking somewhere other than you're point of aim, but it doesn't necessarily mean the bullet's trajectory was off from the calculation, maybe your point of aim is off from where you think it should be.
One easy way to test for this is to set up a 'tall target' at 100 yards. Put an aimpoint at the bottom of the target and shoot a group at your 100 yard zero. Then move your scope up 20 or 30 MOA and shoot another group. Measure the distance between the two groups and see if the point of aim actually moved exactly according to your adjustment. If not, you can calculate a 'calibration factor' to apply to your sight adjustments.
The 'tall target test' is also a good way to insure if your scopes vertical adjustment is tracking perfectly vertical. Draw a line on the target using a plumb line or level, then see if your vertical adjustment produces two groups that are parallel to the line.
Some scopes are right on the money with their adjustments, some can be off by more than 10% (meaning a 20 MOA adjustment would actually move 18 or 22 MOA). I believe this is the most likely cause of your perceived error.
Another thought, what bullets and BC's are you using from JBM? Some of the BC's in that library are more accurate than others.
-Bryan