Check to make certain that iptables really is a script, not a data file created by iptables-save. In my Mandrake 8.1 system, it's a data file, and I added to rc.local the line "/sbin/iptables-restore" in order to re-create the rules at boot. I also created a daily cron job for root, to do "/sbin/iptables-save" each night, so that any rules added by portsentry during the day would be saved...
Check out your actual initialization scripts to see for certain that the "start" and "stop" actions for iptables use the /etc/sysconfig/iptables data or script... I suspect, though, that most recent distributions will be rather similar to what I have here.