After a bit of debugging (some PIC code corrections, some VB code corrections, and finally tracking down a missing direction-pin wire), the Z80 computer is executing code! I wrote a short test program to compute Fibonacci numbers, and it ran correctly.
It still could use quite a few features — such as an internal clear-all-memory routine, program save and load functionality, program trace output, etc. But for now, it’s a working Z80 computer, accessed via RS232.