Hi Richard
I suggest you hand-stitch on a boltrope at the leech, to the backside of the sail, that is, to the opposite side of where the battens sit. I did that to a sail of mine (Johanna) when it turned out that the webbing used for boltrope stretched way too much under load.
You can do the job in a couple of hours, with the sail rigged on the boat, on a calm day: Use a line that doesn’t stretch (.. an old halyard for instance - or maybe I would try a 3 - 4mm Spectra/Dyneema line these days..). Start at the top and hoist the sail, panel by panel as you work your way downwards. Sew the boltrope on with waxed twine, using groups of 4 stitches, carefully secured and fuzed. Space these 4-stitch groups about 12 – 15cm apart. This way the progress will be quite quick. The top stitch group (the first you apply), next to the yard, should consist of 10 stitches.
The whole idea with this is to move the load over from the sail to that new boltrope, so as you go, you must be sure that the boltrope is a bit shorter than the sail: The trick to get each stitch group right is to lay the leech and the boltrope next to each other in a gentle curve, with the sail on the outside of the curve, and then insert the needle through both.
With that boltrope in place, it will take over the vertical loads and the flapping will stop - if you got it right...
Good luck!
Arne
PS: I bet this is a common problem on flat sails, in particular if they are old and have been made without a stout boltrope.