In one case I just removed those old ghost/orphan records from the ItemHistVc, then recalculated Item Status and Oked successfully. I tried to dig in the source why it happens, but that's very time consuming...
I have a report which shows invoices and Stock Depreciations without a corresponding record in the Item History. I am afraid of Rebuilding stock, it sometimes may produce entirely different item history (faced with that years ago).