Erm ... I'm asking this as a complete novice on this subject, but would the coal train have had a headcode - that was perhaps entered wrongly by someone?

Yes - when they used to run regularly from british coalfields they were class 7's when full and class 6's when returning empty. Though if the system only recognises class 1 and 2 passenger trains even if it was entered wrongly and happened to be another passenger trains headcode then it should have displayed that train rather than the freight train.
Like I say it was in the early days and I'm sure several patches have been applied to the software since, BUT it remains a fact that as soon as disruption hits a certain level, these automated systems really struggle to cope.
All Didcot powerstations are 6xxx Loaded and 4xxx empty