I have done something like this:
give your sprites a couple of instant variables (I used ivMyPosX and ivMovingToX)
when you want sprite to move make ivMovingToX = ivMyPosX+400
start movement (ie bullet)
every 0.1 seconds
if sprite position.x >= ivMovingToX
stop bullet motion
set sprite.x = iVMovingToX (just incase it is slightly over)
if you need to move again then just add 400 to ivMovingToX and start the bullet again.