I'm playing around with the firewall and noted that if I do a rule with:
action -> block
interface -> WAN
protocol -> TCP
source -> any
source port range -> any
destination -> any
destination port -> any
log -> checked
This is normal behavior. Like most modern firewalls, m0n0wall uses stateful packet filtering, so if a TCP connection is initiated by a PC on your LAN *and* the firewall ruleset on your LAN interface allows the connection, an entry is created in the firewall's state table. Then when reply packets come in on the WAN interface that correspond to that connection, they are permitted regardless of what the WAN ruleset says.
If you tell us what you're actually trying to achieve, we can probably tell you how to do it properly given the stateful filtering.