BUGFIX: Numerical imprecision forced check of bounds for acos()
Scalarproduct(a)/Norm()/a.Norm() may result in values larger than 1 and smaller than -1 due to numerical rounding errors. -1-MYEPSILON causes NaN to be returned by acos, hence we check whether the value is smaller than -1 or greater than 1 and set to the limit if out of bounds.
This causes a wrong triangle to be taken due to the wrong SphereCenter being copied (comparing MYEPSILON to NAN)