Thank you for the details. Looking at this, it appears to be a legacy issue: the in transit number was incorrectly too low on loading the game (probably caused by an earlier error); when withdrawing all the convoys, the cargo at the cattle farm stop is discarded, and this correctly reduces the in transit number by the amount actually waiting at that stop, which is in excess of the in-transit number, causing a negative number to appear at the diary. Hopefully, this should not arise in future.
Edit: Looking at this in more detail, I notice that I had enabled CACHE_TRANSIT to prevent network desyncs, as re-calculating the in-transit percentage did not take account of transferring goods. I have now modified the code so that re-calculating the in-transit percentage does take account of goods transferring. I have tested this, and it appears to be network safe.
This means that the in-transit percentage will be recalculated when the game is loaded, and will therefore avoid anomalies in older saved games, which should solve this issue.
Thank you very much for reporting this.