From Xojo Documentation
Used to store positive integer values. The default value is 0. Generally you will use the Integer data type (equivalent to Int32 on 32-bit apps or Int64 on 64-bit apps) or UInteger (equivalent to UInt32 on 32-bit apps or UInt64 on 64-bit apps). There are also other size-specific integer data types that are available for use with external OS APIs.
UInteger values use 4 bytes for 32-bit apps and 8 bytes for 64-bit apps.
UInteger values range from 0 to 4,294,967,295 (32-bit apps) or 0 to 2^64-1 (18,446,744,073,709,551,615) (64-bit apps).
If you assign a value that is larger (or smaller) than what the specific Integer type can hold, then the value will "overflow". This means the value will wrap around to the corresponding largest or smallest value and continue from there.
Comparing a UInteger to a Literal or Constant
The type of a numeric literal or constant that is a whole number is the same integer type as the architecture of the platform for which you are building. That means that if you are building for 64 bit, literals and constants will be 64 bit (signed) integers.
Therefore to correctly compare them, use CType to cast the literal to a UInteger.
In this example the variable Distance is a UInteger: