Huh, that's crazy - we store the user ID as a string, but the ID length has jumped from 9 digits to 15 digits. I didn't look closely enough - I thought it was just adding a 10th digit! So instead of being in the billions, it's now in the trillions. Unusual move on Facebook's part. It's only *just* within the integer range of a double precision float!
It turns out the UserID expression was truncating the result to a 32-bit integer. Notice 100000668370244 % (2^31) = 944817476. I've changed the UserID expression to return a float now, so hopefully the result can fit now!
Leaves me wondering what Facebook are going to do next :-\