Thank you for your post!
I can only think that a script or potentially user access is causing the Field to be cleared. You might give more detail about how the field is set and your process works?
I am also going to move this thread from the FileMaker Community Feedback Space, which is specifically for input on the Community itself, to the Discussions Space where you should receive more views and potentially more advice on this topic!
What storage options did you specify for the global field? This is not one to use "store by reference" nor "External Storage". Best to embed the image directly in the container field.
also, is this container field accessed from a hosted file? That can be a sticky wicket.
Also, let us know how the global field gets this image file in the first place. There are possible failure points there that might explain the missing image...
Some comments on what's already been said here:
1. Storage method: I agree with the suggestion that the best approach may be embedding, but if the issue is a lost link you should see a file missing message (i.e. FM knows something should be there but can't find it). As you say the image has simply disappeared I think this is likely not the explanation.
2. Hosting: Since this is a company logo, this suggests your file may be hosted. If that is the case, remember that globals "remember" their state when last opened unhosted, so maybe that is what has happened (e.g. you or someone else "lost" it when doing some file maintenance). In a hosted situation the best way to maintain baseline globals is to store them all in matching standard fields, which retain their contents in the normal way, and preload the globals from these standard fields by script each time the file is opened. Phil's second post may be probing along this line.
3. Rogue User: If the file is not hosted but nevertheless used by others, it's possible that another user inadvertently deletes the image by some action they don't fully register or understand.
+1 to keywords.
If the file IS hosted, you have two options for keeping global containers "filled". One is mentioned in keywords' post, #2. The other way to do it is to close the database on the server, open it locally (move it out of the server folder after closing, and open it with FM directly), load the global container field, then move the file back and re-open it. Once the file is hosted, that global field will always contain the image it had once it became hosted. If you do it this way, you can go into each privilege set and customize the security settings so that no users can modify that particular field in that particular table.
One other question. You say it disappears "when printing this form". Are you printing via scripting?