Well, believe it or not, it _does_ work "as it should" when I
change the rules to
#(override-auto-beam-setting '(end * * 8 8) 1 4 'Voice)
#(override-auto-beam-setting '(end * * 8 8) 1 2 'Voice)
#(override-auto-beam-setting '(end * * 8 8) 3 4 'Voice)
That is to say, 8/8 instead of 4/4. But the timing is still
unchanged, i.e. 4/4, just like I wanted it. (I have only tried it
for the example that I posted originally, perhaps this is a freak
example, I'll experiment more later.)
Clearly, this is not a bug---it is an accidental feature!
Right! A look into the implementation of the auto-beaming
functions reveal that they determine the denominator of the
time signature from the beatLength setting and the numerator
by dividing the measureLength by the beatLength.