The word "rational" is probably far too strong, but it does look like a daylight savings issue. Perhaps Numbers is not storing the values as dates, and is doing it's own (mis)conversion. I'm guessing the value is out whenever the target date and the current date differ in terms of daylight savings.
Try this code. It requires 10.11 or later:
use AppleScript version "2.5"
use framework "Foundation"
use scripting additions
tell application "Numbers"
if document 1 exists then
tell document 1
tell active sheet
set activeTable to (the first table whose class of selection range is range)
tell activeTable
set cellRef to first cell of selection range
tell cellRef
set cellValue to value
set cellFormattedValue to formatted value
end tell
end tell
end tell
end tell
end if
end tell
set tz to current application's NSTimeZone's systemTimeZone()
set correctedValue to cellValue + (tz's daylightSavingTimeOffsetForDate:((current date) - (tz's daylightSavingTimeOffsetForDate:cellValue)))
{cellValue, correctedValue, cellFormattedValue}