Is it a remote property? If so, I believe the simulator is designed in a way to just push property values to the platform and not receive any. When you try to set a value, say for VMTemperatureSetpoint, you are trying to send values back to/ override the simulator. By reading, I assume it 'reads' the current value of that property as it updated pretty quickly.
Persistent means the value won't get erased or deleted if the Thing restarts or if the platform restarts. If not selected, the value would go back to its default value (if set) or to zero or a blank value.
How do I know if the property is a remote property? It is defined in a shape.
If the statement on the book is as you state, then it's very poorly written. By sending to thingworx I asume "from the edge (simulator) to the cloud (thingworx server)", by reading from thingworx, I asume "server to the edge".
ignore the right window.