Here's a trick I learned from someone here at Anandtech. It sounded stupid, but I was sick and tired of having to keep re-clicking "yes", and "remember my settings" and had tried all kinds of different ways to fix it, so I tried it and it worked!
This is a quote from Holy Cow's answer to this same question:
"i've experienced this problem as well..
The work around is that after you make changes to your application setting, make sure you shutdown zonealarm and restart it. I think it's because zonealarm save its application setting whenever a user exits the program..and if you reboot your computer, zonealarm doesn't shutdown properly, so the setting doesn't get saved."
To shut it off, right-click on the ZA systray icon and choose "Shutdown ZoneAlarm".
This method has worked 100% for me since I started doing it. To this day, if Iset a new permission for ZA and forget to follow this ritual, ZA generally forgets my setting. It didn't used to do this until the later v2.x builds, and it exibits the same behaviour on many different boxes and installs (all Win XP however, Win 2000 works fine)