I would guess that your database is hosted over a network.
The values of global fields are not retained at the end of client sessions on a hosted database. More importantly, changes made to global fields by one user are not visible to another.
This is expected behavior, but comes as a suprise to some the first time that they host their database.
See this knowledgebase article: http://help.filemaker.com/app/answers/detail/a_id/3604/kw/global
So global fields are not truly global if there are more than one user over a network? What could you suggest to work around this for a single value for all users?
They are truly global---you can access the value in a global field from any record, layout or script in your file, but they are specific to a given user.
The designed behavior of global fields is intended to keep one user's interaction with the database from interfering with other users. For example, if you have a global field where the user selects a value used by a script to find records, you wouldn't want each user to see the other's input in this field if two or more are attempting to use that layout feature at the same time.
I'd need to know more about how you are using these global fields to suggest a solution.
These values will be set up at the begining of the database and will never change. Whoever the user is will be irrelevent. Once they are input they will be locked.
You have several options:
1) Make the changes to these global fields before you host it from fileMaker server, or if hosting with FileMaker Pro, make the changes on the host computer. These changes will then be retained.
2) If hosting with FileMaker Server, use a server scheduled script, that you run only once, to set the values in the globals. Server Scheduled scripts are performed from a "host" perspective so the changes will be retained. I often keep a script in my hosted databases that clears a list of global fields that should always start out empty. That way, if I accidentally leave a value in the field when testing a new copy under development, I can run this script from the server console to reset the values and not have to take it down off the server.
3) Put the values in a table of non global fields. Set up a script to run automatically each time the file is opened. Have this script use set field to copy the values from the non-global fields into corresponding global fields.
4) Put the values in a table of non global fields. Link this table to each table occurrence where you need access to the values in this record. Link it using the X operator.