If you can’t solve a problem, just go to bed. I should have done that yesterday (although it would have meant I was in bed at 11:30 in the morning I suppose).
Anyhoo, I got up, had breakfast, and then made XNA networking work perfectly.
It turns out that there is something in the WiFi configuration at my house that stops network gameplay from working. I had connected all the devices by wires, but had left the WiFi turned on, which seemed to confuse matters. Replace wireless connections with wires everywhere and everything works.
I now have a working lobby system, proper host and client gameplay, sample programs and a completed Chapter 16. And, since that is the last chapter in the book, I guess that means that I can return to real life and start doing other things that have been piling up a bit. But I think I’ll have some time off the computer for a bit.