The actual value of P(Z < -3.72) is:
0.0000996114
which in scientific notation is
9.96114e-5
And if something interprets "e" as Euler's constant and the "-" as subtraction, the above is:
22.077
which is close to what you report here. So I think that (a) there is a small rounding error in play, and (b) more importantly you have something at some point in your code that sends something close to "9.96114e-5" as a string to a MathObject constructor, where the "e" is interpreted as Euler's constant and the "-" as subtraction.
Fixing (b) should be easy. Review your problem code for the chain of commands that produces the 22.1828, and edit it to prevent the string interpolation.
(a) might be an issue built into the library that PGstatisticsmacros relies on. If addressing (b) is not enough for your purposes, post more details and we can continue working to make that function perform better.