Oh, if only running a railway was so simple! The current system knows where each train was last reported, through various automatic (via train describers) and manual reports, and they're.usually sufficiently frequent and reliable to maintain an accurate picture of current train running. It's far more difficult, GPS or otherwise, to extrapolate that information to accurately determine the expected times later in its schedule or how other trains will be affected - it's all dependent on factors such as the Signalman's regulating and how much time a freight train timed for a heavier load recovers on a steep gradient. That's where the current system falls down, I think, and I'm not sure there's much that can be done about that aspect, until the proposed traffic management systems are fairly widespread at least.