You haven't specified a precision level in your format string, so it defaults to whole inches.
It should be:
TEXT2 0, 0, STR("%0.8fi", GLOB_ELEVATION)
This will give precision to eighths on an inch. For halves the value is "0.2", for sixteenths it is "0.16", etc. It's a little quirky but it makes sense.