Let's assume, that we're working on 3rd degree Bezier curves only.
$$ B(t) = p_1 \cdot (1-t)^3 + p_2 \cdot 3 \cdot (1-t)^2 \cdot t + p_3 \cdot 3 \cdot (1-t) \cdot t^2 + p_4 \cdot t^3 $$
One way to render Bezier curve on a screen is to convert it to a polyline by splitting multiple times. Common sense says, that if we split it as many times as its length is (for instance, if its length expressed in pixels is 475.1234, we want to split it 475 times, or 476, - whichever suits you best), single segment should be no longer than a pixel.
Just to clarify, since splitting Bezier curve truly equally (so that segments have equal length) is nontrivial, we split the curve by picking points $B({i \over length}) ~\text{for}~ i = 0, 1, 2, ..., length$
Since however Bezier curve have a different "speed" in respect to parameter t, such segments coming from an equal division may differ in length. By experimentation I was able to generate a Bezier curve, which, when splitted (its length) times, yielded a segment of length 3.45 (this was, from what I remember, $(0, 0), (10, 5000), (20, -5000), (30, 0)$).
Just to clarify, since evaluating length of Bezier curve of 3rd degree is nontrivial task, I'm currently doing that numerically, by converting it to a polyline using power-of-two number of segments (2, 4, 8, ...), until I achieve desired level of precision (eg. 0.01 pixels). For this task this is enough though, because I only need to evaluate length with precision of 1.
My question is: given the way of dividing Bezier curve (its length) times, is it possible to create arbitrarily long segment?
To achieve longer segments one needs to increase the speed of the curve, but that comes with a cost of increasing its length, which means more splits - and in effect shorter segments. At the same time some experimentation allowed me to cross boundary of length of 3, which seemed to be a limit.