The "setworldspawn" command is not saved permanently. After a few times of starting and ending of the game the old point will be restored.
I guess, I do not know exactly what triggers it.
Edit: Have just found out that it is already saved but once you go very far away from the new Spawn, the old, original Spawnponit will be restored.
Now the game has to be stopped and restarted and then the compass points again to the new spawn point.
Edit 2: You can go to the Nether and you will get this bug.
Related issues
Comments

Duplicate of MC-679 – If you have not, please use the search function in the future, to see if your bug has already been submitted.