If the issue is the difference in what is presented with regards to the history of processing, then yes that is controlled outside of the invoice file and namely is anywhere that TABLE_ORDERS_STATUS_HISTORY is used to store something. The information to be presented in the invoice is any that have a customer_notified field value of 0 ((int)false) or greater. So, if wanted to always specifically have something hidden from the invoice, but show everything else, could store/modify that setting to a negative value or as needed to a specific negative value to support "known" recall of that entry. Then if say wanted it to be displayed in a specific "other" area, could evaluate for what negative value it is and if meets the associated criteria to use it...
Basically the invoice file is simply a "reporting" tool and how the data was recorded may have been changed which could be why things look different. In search of the use of the above table between ZC 1.5.5 and some earlier 1.5.x version there were some differences in other files found, though didn't go and do a full comparison review to see why there were differences (might have something installed that needed the additional occurrence(s)).
ZC Installation/Maintenance Support <- Site
Contribution for contributions welcome...