The internal method DecimalValue.isWholeNumber() is designed to report true for any xs:decimal value that is numerically equal to an integer. However, it reports false for numbers that are an exact multiple of 10 (for example 10, 20, 300)
One easily observable consequence is that the expression
20.0 = (10 to 30)
Mostly, however, this method is used to invoke an optimization for cases where the value is a whole number, and the only adverse consequence is that the optimization is not invoked.
A patch is being placed in Subversion.