The value you show is signed integer and HexToNumber() returns unsigned integer.
Also you need to specify the base, something like
a = HexToNumber("bea000000004080b",Base(16));
To get around the signed integer issue, you can use a formula like this:
max = HexToNumber("7fffffffffffffff",Base(16));
a = HexToNumber("bea000000004080b",Base(16));
if( a > max,
result = -(max+1) + (a-max);
, // else
result = a;
);
But then you run into another issue which is JMP cannot render a 64-bit integer value precisely. The last two digits will get truncated and have random values. I would recommend breaking up your 64-bit value into a upper 32-bit value, and a lower 32-bit value, and store those values in two separate columns. Something like this:
Upper32 = HexToNumber( Left( :hex64, 8 ), Base( 16 ));
Lower32 = HexToNumber( Right( :hex64, 8 ), Base( 16 ));
Refer to the attached data table example.