Well, I tried a couple things... and the behaviour changed.
First I added a 47uF and 0.1uF cap at the LCD module power pins.
This got rid of one kind of error... the LCD would occasionally "splat" within a minute and instantly show garbage all over... that doesn't happen any more. Now it never splats. So stiffening the power at the module has helped, and removed the problem of power glitching its CPU.
But it still exhibits the other error it was showing: using the hello world LCD example occasionally the "seconds counter" prints twice, it duplicates the number on the same row. For example, if it's on 42 seconds, it might print 4242 on the second line. This is hit or miss.. it can count normally for a while incrementing as it should, then boom I get a double.
Sometimes the 2nd number appears almost simultaneously, as if to "roll over together". Sometimes, the second printing of the number is delayed, so "89" comes and a fraction of a second later I get the second 89 is printed (resulting in "8989" on the display). The second number sticks in its position while normal counting resumes... until it's overwritten by another duplicate.
Now, unless the Arduino is sending all that data up twice (I doubt it), there is some signaling combination appearing at the module that is causing it to repeat the last thing it did. Not just the last digit it got, it's whole last number string getting printed twice.
2nd thing I tried was putting a reverse diode over the LED array, in case there was an inductive spike shooting back up to the module and had nowhere to go. Now, any such spike is routed back down the cable to Vin rail.
The diode didn't change the duplicate printing thing.
Again, this only happens when PWM is being used to change brightness of backlight LED to something between the extremes.
In case it matters: I am using a 6 wire connection for LCD: data4-7, RS and E connect to Arduino I/O pins. RW is grounded at the Arduino side of the ribbon. Data0-3, and pin3 contrast pins are essentially floating at the module. They have ribbon cable attached all the way down to Arduino but are N/C there . (The module has its own on-board pot for contrast adjusted just fine.) The ribbon is about 4 feet long, flat not twisted pair, common2-row header connectors on each end.
..time to try some more things.