running it slower on schedule does solve the problem of being more predictable and being able to plan a bit better if you have to catch connections. I much rather have more realistic timetables over trying to achieve overall shorter travel times.
The ‘fast’ version of Mechelen-Leuven (the 25min) is a lot slower now because they rerouted it to add the new Brussels airport stop on this line. Of course a train with fewer stops will run faster. But this airport stop seems worth it to me for both cities, though longer route it now runs almost the same time as the slow stops everywhere L-train (31min) between the two cities.
Anyhow, not really punctuality to blame in this example, it’s a planning/routing choice. One you might disagree with, sure, but it’s not punctuality.
Sometimes trains become “faster” in the same way because stops get skipped more often or cancelled altogether. They could run a very fast train between Eupen and Oostende, but what’s the point if you’re not picking up and dropping off any passengers along the route? Filling up the path for a “fast” connection almost noone can actually use. Trains in Belgium are slow in general because there are just villages and stops everywhere, every single train not on an actual highspeed line has the same hard choice: how many stops, where yes, where no, how many passengers a day does a stop need to be worth it? I’ve cursed often at the Beveren stop on the Antwerp-Gent line, but there are always people getting on and off there… Our city planning has just been shit for 200 years and this is a consequence, much of our rail network functions more like a large metrosystem.