It isn't magic! Whenever you copy data from a screen immediately after a screen has changed, you need a Refresh Screen action. If you are copying multiple values you only need it once, and of you don't copy values you don't need it at all.
In your example, you are selecting a new tab in a tab set, and that counts as changing screens.
What's going on is that Personas batches up all the actions in your script and sends them all to the backend system to be executed in one go, for performance reasons, but the copy actions have to happen in the browser (well, in Silverlight). The Refresh action tells Personas to break the script into multiple pieces and execute them separately in the backend. That way it can copy data while it is "visible". Without it it tries to do the copies at the end when the data has disappeared again.
Steve.