Tja, notfalls mußt du eben als String speichern und dann selber umwandeln.
TJSONNumber.Create(...)
speichert ja den Wert bereits in einem String.
Bei einem UINT64-Parameter ist halt der nächst-passende overload die Double-Version. Das Problem entsteht also schon beim Aufruf von Create und muss also auch dort behoben werden.