However, after a bit of playing around I discovered that if I stopped the atalkd service on the netatalk server (I'm only using afp, not traditional AppleTalk), then the previously hung client would suddenly recover and present an (empty) volume select list.
More poking around revealed that the likely cause was a corrupted cnid database on the server.
Since I cared not a jot about the accumulated metadata for these files, trashing the .AppleDB directory at the top level of the netatalk share (which contained the cnid files) and restarting atalkd was the solution.
In light of the fact that I spent a couple of fruitless hours at the outset searching for reports of similar symptoms, and drawing a blank (always the case when you don't know quite how to narrow down a query sufficiently), this message contains all the keywords I tried.
With any luck, if this happens again in the future and I forget what I did this time - at least I might be able to find my own answer back :-)