I think I have resolved this one.
The Tally client talks to the license server using HTTP, albeit to port 9000. It was looking at Internet Explorer's proxy configuration to decide whether it should use a proxy itself. I was blocking all access through Squid before 18:00, and incidentally blocking access to the license server.
Internet Explorer got its proxy information from a wpad.dat file. When there was no DNS server it could not find the web server that hosted the wpad.dat file so it communicated directly.
I still cannot explain why it worked for a while after the server was rebooted.