It's an offset & not the actual object position. If you want to store it then you need to store the x,y position inside of a couple of VS values.
1. create a couple of values inside of the current scene (or alternatively in the values tab of the relevant object - take in mind that scene values are easier to access). Give them unique yet relevant names; something along the lines of rock_x & rock_y. Set both values to 0 as the default value.
2. after using the move object action part add a pause action for the duration it takes to move the object, then create an execute a script action part & add this to it (change the names of values & objects to suit...
game.CurrentScene.SceneValues["objectname_x"].Int = game.CurrentScene.SceneObjects["objectname"].ObjectOffset.x
game.CurrentScene.SceneValues["objectname_y"].Int = game.CurrentScene.SceneObjects["objectname"].ObjectOffset.y
3. create an at begin of scene action under scene actions if you don't already have one. You can either create a called by other action block & call that in the begin of scene action or you can directly add the script to the at begin of scene action - up to you; either way you need to create an execute a script action part & add something like this to it...
game.CurrentScene.SceneObjects["objectname"].ObjectOffset = {x = game.CurrentScene.SceneValues["objectname_x"].Int, y = game.CurrentScene.SceneValues["objectname_y"].Int}
& that should automatically offset your object each time scene is reloaded.
P.S: @ Ke4: I'm not sure if they are supposed to be remembered. I rarely used the offset action parts. Always preferred moving animations instead as I've not needed to offset the objects polygons yet, so far...