We have these errors all the time due to transactions not being saved correctly when a user gets bumped out of GP in our citrix environment (GP doesn't rollback the transaction, just leaves data all over the place). Typically, a record will exist in the Transaction Amounts Work, Tax Work and History, Distribution Work and History etc, but the main header transaction didn't get saved in the SOP10100 table. GP has to remove the transaction completely as it cannot just add information to the table (ie if it wasn't saved properly, it will have a blank customer ID, blank Batch ID etc). Before running check links again, use Smartlist or run a SELECT against the SOP10100 table and look for any documents with blank Cusotmer and Batch IDS (assuming no one is in the system) and these are the documents that would be removed.
If it is removing records from the Transaction Amounts Work, you must also run an inventory reconcile, as those items will still show as allocated, backordered etc.