After the recent posts about ZoneAlarm, I decided to completely uninstall ZoneAlarm Pro from my computer to see if it made a difference - yes it did!
My CPU utilisation never went above 20% when downloading with ZoneAlarm Pro loaded so I wasn't expecting it to make much of a difference but my download speed increased substantially (see attached picture of 50 MB .iso download from /testmyspeed/). I hadn't uninstalled ZoneAlarm before as I'd had no problems at all at 3 Mbps or when I tested it on a 100 Mbps connection (see my first post). I've emailed ZoneAlarm's support to see if they can help me identify what the problem is but, for now, I'm just relying on XP's firewall.