Moving something does not automatically update the keyframes (unless you have Auto Keying enabled). So just moving the object from X = 0" to X = 3" does not keyframe the new X position. That's why the color is orange. It shows you have changed the value but not yet inserted a new keyframe for this value, which means it will get replaced by the stored one as soon as you switch frames, play or render the animation.
I don't know how you created the keyframes you have so far, but it seems that you know how to do it otherwise they wouldn't be there. As a recap: if you change the location of the object, you can do one of the following things:
Press I in the viewport and choose Location to insert a new location keyframe on all three axes, replacing the old
Hover your mouse over the Location values under Transform and press I, also replacing the keyframes for all three axes
Point your mouse on the X value, right-click and choose Replace Single Keyframe to only replace the X value
In your case it doesn't matter if you replace all XYZ or only the X value. Inserting a single keyframe is useful if you either only want to keyframe one axis and not the others or you (intentionally or accidentally) changed all values but only want to store one of the new values.
But you have to change the old keyframe value on all occurences. If you just change it on frame #1, the object will be moving back to the old position and reach it on frame #25 where the next keyframe is. The same with keyframes on #50, #75 and #100.
If you actually want it to always stay in the same position on the X axis, then you could do the following: instead of creating a new object and changing all X values, select the original object and
Hover your mouse over the X value, right-click and choose Clear Single Keyframes. Important: clear, not delete - the latter only deletes the X keyframe on the frame you are, clear removes all X keyframes on the complete timeline
Duplicate this object and move it to the new position on the X axis - since there are no keyframes on the X channel, it will stay there and not jump back
Another way to remove the X keyframes would be to go to the Dope Sheet, select the X Location channel, right-click on it and choose Delete Channels.
You could do the same in the Graph Editor.
Or, if you definitely want keyframes on the X channel and don't want to change them all separately, if you duplicated the object with keyframes go to the Graph Editor, select all keyframes from the channel X Location (easiest would be to hide the other channels then press A on the graph) and move them up until they reach the desired X position. You could do that by pressing G then Y to move them up and even enter a value for exact positioning, but if you want to move them 3" you cannot simply enter 3, but have to enter 0.0762 because the Graph Editor uses metric values.