Interesting. I've never seen this behavior before. The correct behavior would be for the ROOT function to report an error in the log:
ERROR: (execution) Matrix should be positive definite
If I were to guess, I'd say that the exact integer values are causing a numerical problem in the ROOT function such that the ROOT function does not report the error. In the following code I perturb an element by a tiny amount and the ROOT function correctly reports that the matrix is not PD:
D[1] = D[1] + 1e-8;
G = root(D);
I will enter a bug report at SAS so that someone can look into this situation further.