Global calculation fields behave in really screwy fashion. How are you trying to use these global fields?
Several options you can use for persistant and correctly updated global field values:
Use a script set to run when the file opens to assign values to each of your global fields. If the script loads these values from a table of regurlar data fields, you make a persistant change to a global field by editing the value in the table. (Changed values don't appear in user session until they close and re-open the file to run this update script again.)
Instead of global fields, use a table of normal data fields and relate this table using the X operator to any tables where you need these values to be accessible.
Take the file down off the server and open it with FileMaker Pro. Update the values manually and return the file to the server.
Write a script that sets the values of your global fields and then use a server schedule in Filemaker Server Console to run this script once. Since server scheduled scripts run from a "host" perspective, the values set by the server scheduled script will persist. (Server changed values do not appear in existing client sessions--only in each new session opened after the script changed the values.)
They are in a table that stores the name, phone number and email address of 2 contacts. There is a script that runs in another table that inserts this info into various parts of an email that is generated. The contact info is modified annually.
I have also tried Set global Variable steps in a script that runs prior to the script with the Send Mail step but that didn't work either. (i.e., Script1 runs to determine whether to run Script2 or Script3. Those 2 scripts have the Send Mail step.)