Sorry, I may have been wrong in my previous message.
At 03:24 that day, a TS message came through from CIS AM02 with request ID AM02887034 which had:
<ns3:Location pta="12:12" ptd="12:12" tpl="HYWRDSH" wta="12:12" wtd="12:12"><ns3:arr et="12:12" src="Darwin"/><ns3:dep et="12:12" src="Darwin"/><ns3:length>10</ns3:length></ns3:Location>
The timetable for that day has the train calling at Haywards Heath, as does the timetable for the previous day. So as far as Darwin is concerned, it appears it's always known the train will be calling at Haywards Heath from the get-go.
A point about schedules: these are only what's planned to happen. A train could call at a location marked as a pass in the schedule, and to TRUST and Darwin, that's indistinguishable from a train which simply stops in a platform at a red signal. Equally, a train could not call at a location marked as a call but pass through the platform slowly so give the appearance of having called there - again, TRUST and Darwin won't know the train *hasn't* called there.
In this case, it looks like the CIF doesn't have a call at Haywards Heath, but Darwin does and has shown it in the timetable two days running. At a guess, the schedule was edited in Darwin and published thus.
OpenTrainTimes (my labour of love over the past years) doesn't currently use Darwin, so can't pick up this change to the schedule. It may be that the passing location on TRUST was converted to a calling location, but when that happens, there's no message sent from TRUST to indicate this, so I can't change the schedule I have.
Peter