In preview mode and also when you print, the values of any fields in the header are based on the first record in your found set. When in browse, you see the values based on the current record. I'd guess here that your current record has a value for this field, but it is empty in the first record of your found set.
You may need to define this as a global field or make some other design change to your layout/tables/relationships.
You might also be able to fix this simply by sorting your records differently so that the first record contains the desired value.
Thanks. I tried the global thing and that didn't work either. What's odd is this layout is used as my "master" and then scripts are used to filter data accordingly. Every other script works fine, that field is happily at home in whatever mode I choose. But for this one script, it is there in browse, but gone in preview. I just deleted that script, redid it and now it works fine.
As always, thanks for your reply Phil.
I wanted to post a quick reply to let you know this was completely user error. It is probably too hard to explain, but trust me, it was a big lightbulb going on (after a lot of talking outloud to myself) and I feel silly.
Thanks for your reply none the less Phil, I'm sure I'll be posting another question again soon.
Well... don't know which user error this could have been.
I had the same problem, modified my layout to display a global variable, as suggested by PhilModJunk, and this solved my problems!