I had a longstanding problem updating my virus definitions, but I have eventually discovered the problem. As there seems to be quite a lot of posts with a similar problem, but relatively few solutions, I thought I would share my particular solution in the hope it may help someone else.
The problem was that ZA thought I was connected using a proxy server, whereas I am not. This caused DNS problems. On inspecting the registry I found that some ProxyEnabled keys were set to 0 but others were set to 1 (despite the Proxy check box being blank in Internet Explorer settings). Resetting the 1s to 0s in the registry solved the download problem.
One curious postscript is that some 0s get reset by something to 1, causing the problem to return. Web posts suggest that some viruses may do this on purpose to block internet access, but using the brand new virus definitions the virus checker gives a clean bill of health. Does anyone have any suggestions what the cause might be? (I suspect I probably need to change some other registry settings - something I know little about).
Anyway, I hope the above helps someone.