Cuando incluyes un campo en el footer, mostrará el valor de la última fila del detalle que esté visible en ese momento. Lo mismo ocurre si incluyes un campo en la cabecera: que mostrará el valor de la primera fila visible.
En realidad esto ocurre en todas las datawindows, lo que pasa es que una datawindow FreeForm sólo muestra los registros de uno en uno, entonces el campo de detalle siempre tiene el valor del registro visible (como sólo hay un registro visible, es el primero y último a la vez).
Sin embargo las datawindows Tabulares muestran muchos registros a la vez, y en ese caso es cuando aparecen valores erroneos.
Para asegurarte del comportamiento haz la prueba: mete un campo en cabecera y otro en el footer, y haz la dw más pequeña para que no se vean todos los registros a la vez. Según te vayas moviendo por los registros, verás que los valores de cabecera y pie de página van cambiando al primero y último visible.
Bueno, no te he solucionado el problema, pero lo importante es tener los conceptos claros.
Saludos y espero que te ayude
Jose M. Navarro.