The only difference is the number of digits after the point in the argument. How can I force M9 to show me a numerical result in the second case? //N does not help.
There is a subtle numerics issue at work here, and one might complain to technical support about it. For such a function as in the question, InverseFunction[f][x0] calls FindRoot to solve f[y] == x0 for the value y0 of the inverse function. It then tests the result to see if y0 is accurate enough to be acceptable. To do this, it calls Chop on the value of f[y0] - x0 to see if it is zero; that is to say, it will be acceptable if Abs[f[y0] - x0] is less than 10^-10.
Now to the numerics. One can expect a rounding error of around x0 * $MachineEpsilon, which for the problem at hand is: