I'm thinking part of the problem is the inaccuracy of getPos. If it doesn't get the numbers precisely enough, maybe OFP just makes up the next few digits? Anytime you create an object using getPos, it will vary in position. This is true of createVehicle, createUnit, et cetera. Try using getPos and a radio trigger to show the coordinates, write them down, and use those coordinates in the init field except adding extras zeros after the decimal. See if that makes anything more precise. With a simple script, you could automate that.
_posx = getPos object select 0
_posy = getPos object select 1
_alt = getPos object select 2
_posx = _posx + .0000000000000000000000001
_posy = _posy + .0000000000000000000000001
object setpos [_posx, _posy, _alt]
Does that make sense, or should I lay down the crackpipe? I haven't read any studies on number precision in Flashpoint, but if you have please enlighten me.