PastSpritePosition() converts it's arguments to integers. SetSpritePosition() doesn't.
Looks like a bug to me.
Edited to Add:
Here is the dodgy bit of code from PasteSpritePosition:
float fX = lua_tointeger(L, 2);
float fY = lua_tointeger(L, 3);
Whereas the SetSpritePosition has:
float x = lua_tonumber(L, 2);
float y = lua_tonumber(L, 3);
Been there, done that, got all the T-Shirts!