here is an outside the box idea, create a UDF in the SO_invoiceWrk Table
On the data sourcing tab, source it from any field with AR_InvoicehistoryPrinting_rpt but NOT from SO_InvoicePrinting_rpt. that way you can check for a value in that udf. if it is blank you are not printing from history
seems like it would be reliable.