I handle reprinting in a similar way. I do not use a data directive though. I have built the bpm directly into the BAQ using the BPM designer and attached it to pre-proc on update. Then I have the set field setter just change the value back after the label/report is complete.