You've conflated two issues here. I know thermostats have anti-cycling built-in, so only allowing 3 changes from "on" to "off" per hour etc.
What I'm talking about is the flame modulation internal to the boiler, which no thermostat can control, regardless of using OpenTherm or normal on/off stats - whenever the heating is being called, the boiler attempts to maintain a set flow temperature by modulating the flame size. But unfortunately, in larger boilers especially, even at their lowest flame modulation they cannot keep at the set point once the system is up to temperature because they're simply adding too much energy. So the
burner is cycled on and off, not the heating system itself. This is controlled by the physical properties of, and the electronics in, the boiler and so can't be changed.
Worse still is that most boilers can't ignite on their lowest flame modulation, so they have to start on 50+%, meaning they fire, the flow temperature rises above the set point before the boiler can modulate down, and so the burner has to be turned off again. Rinse and repeat. Now, most boilers have their own internal anti-cycling too which won't let the burner be turned on/off too many times per minute (or require at least 1 minute before the burner can ignite again etc etc), but it still can't get around the fact that even at their lowest setting, these modern boilers are adding far too much energy into the heating system. This constant cycling reduces efficiency, meaning even with condensing boilers claiming 90%+ efficiency, you won't be getting it, even if the flow temperature is in the "condensing" range.
This issue is exacerbated further by using OpenTherm, a system which modulates the flow temperature set point, not the flame size. So as the rooms get closer to their set temperature, the stat tells the boiler to lower its flow temperature so the rooms don't overshoot their set point. By asking the boiler for a lower flow temperature, it now needs to add even less energy into the system.
Boilers modulate their flame size to maintain a set flow temperature; OpenTherm modulates
that set point.
EDIT: Fixed a bit of spelling