Many thanks to David for his help, here and in another thread.
This all started with the differing preferences of singers of polyphony, some preferring scores in original note values, and some wanting reduced values. Personally, I'll sing from anything, but I like to enter music into lilypond using halved note values, for conciseness.
The end result is the code attached to this message[1]. Music entered in halved note values can be printed in full, halved, or quartered values by setting the reduction factor at line 6. The original mensural clefs, from a somewhat extended repertoire (see the mensSign function), are printed at each change of mensuration, together with an indication of the proportional tempo change (which is automatically reflected in the midi output, thanks to the articulate.ly script of Peter Chubb).
There is no attempt to automate the correlation between the tempo change and the new mensuration.
I hope the code is of use to others. It uses a current version of lilypond so I cannot submit it as a snippet (it's probably too long anyway). If you have a play with RF (line 6), TACTUS (line 8), and \mensuration (lines 181, 186, 188) you'll soon get the idea.
-- Graham King
[1] the entire Credo from the Missa Rapum Meum by Baldrick.