my guess is that the last row on a the page has a blank value fo that field.
when you drop a field into a footer it displays the data from the last row that was printed before that footer was printed. So for a group footer is is the last row in the group, for a page footer it is the last row on that page.
WHen you moved it into the a header for testing you also altered the result because if you place a DB field in a header it prints the value from the first row printed after the header is printed. For a page header it prints the value from the first row on the page, in a group header the first row of that group. If you change the sort order inside the group you also can change what value is being printed in the header or footer.
You may be able to use a minimum(field) or maximum(field) to accomplish what you want. Hard to say as I dont know your grouping or data set.
Edited by DBlank - 09 Oct 2013 at 5:17am