Compare distance between two points...

Let's say we use pixel as a position unit in our game engine/graphics/etc. project. To calculate distance between points in such environment the most common solution is to retrieve absolute value of X and Y difference and perform mathematical function called hypot. This requires rounding result value to get integer (woah - pixels are integers). The return value is then compared with some other value. What if only we want to compare distance - to check is it less/equal/greater than given value ? Do we still have to use FPU unit in CPU thanks to hypot call ? Here is my attempt for code that is probably faster than hypot, but can be less accurate:

function DistanceBetweenPosCompare(Pos1, Pos2: TPoint; MaxDist: Integer): Boolean;
  xDiff: Int64;
  yDiff: Int64;
  lMaxDist: Int64;
  xDiff := Pos1.X - Pos2.X;
  yDiff := Pos1.Y - Pos2.Y;
  lMaxDist := MaxDist * MaxDist;
  Result := ((xDiff * xDiff) + (yDiff * yDiff)) <= lMaxDist;