Hi @Dave - very interesting. That helps a lot. I know I'm introducing the problem due to the capacitance of the circuit that rectifies/steps the voltage down, but for the first time you've given me a way to think of the on/off timing quantitatively. Now, theoretically, I could vary the capacitance on the 5v side of the circuit to work with the 20ms timing. Thanks again.
Also, to all, sorry I didn't mention the second step from 5v to ~3v - I figured that would be a given. But for anyone out there worried about the Pi that's sitting there smoldering in my basement, I'm feeding the GPIO pins around 3v.
Good idea from @Greg to use other methods to get GPIO input. I think, though, that Dave has confirmed that this is to be expected when a circuit is quickly fluctuating in voltage. And that's totally what's happening - this is a system with multiple relays (some of which I can hear click on and off more than once as the thermostats click on/off), multiple 24vAC power sources, ancient zone valves, interconnected pumps, etc. There's bound to be some weird capacitance/resistance circuits in there somewhere causing a fluttering voltage, not to mention the capacitors on either side of the rectification and voltage step-down.
One other test, which has little to do with the Pi or Node-RED, would be to hook up the same Pi with the same code to a single, otherwise unused 24vAC power source and see whether it throws weird values after rectification/transformation. If not, then it'll be all about filtering those results, rather than looking for the problem within the Pi or code itself.
Thanks again for the time answering my many questions - I'm new to the Pi and Node-RED, I absolutely love the whole concept and execution of Node-RED, and I have quite a few 24vAC controls I want to take over with Pi's in the foreseeable future.