I agree, this has nothing to do with U64. It is just a bug in the sine function that returns the input number if the input is larger than a certain (very big) threshold. The value of the U64 can reach this threshold, while it exceeds the range of U32 and below.
As a workaround, you could use "quotient and remainder" and divide by 2*Pi, then feed the remainder to the sine function. In any case, it probably does not make much sense, because the sine function is a DBL function and you'll run out of meningful digits at 1e15. A periodic function such as Sine will not make much sense if the minimal increment jumps many periods. All you see is randomness.
Still, I agree that there is a bug. Sine should probably return zero and not some value outside +/-1 for huge inputs. 😮