for debugging headers and footers, an extra 2 lines containing an example of the resulting interpreted content for the header and footer would be most useful and prevent wasting about 10 pieces of paper or more on print tests to make sure the header and footer come out right.
this is basically a simulation of what the output is going to look like on paper without having to look at print preview etc. if the user has a typo in a variable, this will show the problem and they can fix the problem right there.
the display should update as the user types, if this is possible, for the most responsiveness. this means it should be triggered on KEY_UP events. it's only when the key is released that you actually should process the input box(es).
only drawback to keyboard events processing is that when an incomplete variable name is in the input box, you will get an error trying to expand the variable or at best nothing.