I use free ZoneAlarm on my laptop under Windows XP (SP3) and I have recently upgraded from v.8.0.298.000 to v.9.2.044.000. I use my laptop in 2 scenarios:
1. Connected to a wired LAN which uses Windows DHCP (ie the ethernet adapter is assigned an IP address in the 192.168.0.x range)
2. Connected direcly to another PC's ethernet adapter using an ethernet cross-over cable (ie the ethernet adapter is assigned an IP address in the 169.254.x.x range)
However, once ZoneAlarm has added the network adapter it then ignores when the subnet of the IP address for that adapter changes (from 192.168.0.x to 169.254.x.x or vice-versa) - the Firewall->Zones tab still shows the Adapter Subnet associated with the previous IP address. I didn't have this problem in the 8.0 version, so I guess this is a bug that has been introduced in version 9.x.