Before using refresh window, try commit records. And if necessary, you can have your script do a commit records followed by a Refresh Window.
And if you have FileMaker 13, you have a new option: Refresh Object. If you use the Name box in the inspector to give a layout object an object name, you can use Refresh Object to refresh just that one layout object.
I just tried it, and couldn't make it work.
after duplicating the record and setting the fields as I want them....
refresh object [Object Name:table::field 2]
It only seems to reevaluate it if I reselect core return in field 2. Even if I changed another field in that record, it doesn't update.
What you describe should work as it's a commonly used technique and one that I've used myself. I'll need to have a much more complete description of your layout design and the table and relationships on which it is based before I could possibly figure out why it hasn't worked for you.
I found the problem. I actually didn't even have to use the refresh window or object.
in the set field 2 command, the calculated result had an extra space before the last quotation mark. "core return_" vs "core return".
That's why it fixed itself when I reselected it from the value list.
I appreciate your help!