Mathematica interprets the real numbers 9999999999999999.0 and 9999999999999998.0 as having machine precision. To work in arbitrary precision, you need a backtick after the number, followed by the number of significant digits.
In this case,
9999999999999999.0`17-9999999999999998.0`17 does indeed return 1.