Yeah, I'm well past those sorts of things now, thanks Mark. Apart from all my initial work with the scope when I verified that all signals on the data, address, and ports were moving ok, nothing stuck, and all levels good, I then drove the system with my Arduino/Atmega2560 i.e. with the 8039 removed. The ROM contents disassemble into 8k of what appears to be rational code, although it only takes one bad bit in the wrong place to screw everything.
There is some rational operation occurring, though. For example, the display is set to the correct configuration (all segments, annunciators, etc ON, except the top dots), and then, approximately 35msec after the release of /RESET there is a single scan of the keyboard, after which the CPU continues with whatever it is that prevents any further KB scanning, with the end result being the timeout/reset by U504.
But here's the thing - if I initiate a reset (e.g. by momentarily grounding the /RESET line) while holding one of the KB buttons depressed, the single scan of the KB turns into a never-ending sequence of scans (separated by ~ 600usec) that will continue as long as I hold the button down. U504 naturally doesn't time out, and the CPU is obviously detecting the 'stuck button' situation. So it's not totally brain-dead.
The saga continues...