I have experienced something weird that I could not explain. The other day I added a new portforwarding rule and saved it. I found from log that those packets targeted were still dropped by firewall. Then I deleted the rule and added again while this time I used the arrow on the top right corner to shift the rules around (orders got reshuffled but essentially the same thing). Well, it seems to do the job.

I am reading somewhere that some people find problem incrementally adding portforwarding rule but could not get the desired effect. They suggest to delete all rules and reboot then add the rules in one shot.

These sorts of issues are usually a result of corrupt NVRAM. If possible, I'd recommend doing a NVRAM clear and start from scratch, keeping a close eye on how much free NVRAM you have. If you go off the edge, it will 'wrap around' and start corrupting things pretty badly. Once this happens, there's no way back short of a full NVRAM reset.