That error is from a sanity-check measure which has detected an unexpected key progression when walking a table or index to a new page (probably in the INVOICE table, unless that was used an an index name). It expects the next page to have a "higher" key value for the first row but found that it compared as "lower" or possibly equal to the first key of the previous page.
It could mean that the table or index got into a corrupted state--where the search index and adjacent-page links are no longer consistent. It throws an exception to alert you before further changes might cause more data to get lost or corrupted--hopefully while it is still recoverable.
If a PackDatabase (or perhaps a RepairDatabase) was successful it should have fixed the corruption, but you should check for possible data loss or other inconsistencies. If you still have a copy of the database from its "corrupted" state (such as a backup created by the PackDatabase or created manually before attempting it--always a good idea before taking any further steps to correct "corruption") then you can compare the reported row counts for each table before and after the PackDatabase.
It would also help if you could send a copy of the "corrupted" database file (from before the PackDatabase) to support so we can try to find the point(s) of detected "corruption" and check the low-level data.
I am getting the following error. I end up packing the database and no issues for a while. Any idea why this is happening.