Turn off proxy ARP for your LAN. Wow, I'm surprised anything works with that.
Actually, that might be part of your problem. Can those hosts even get out to the Internet and communicate properly within the network? With that configuration, any host that ARP queries on your LAN is going to get two responses - one from the actual machine and one from m0n0wall with its LAN MAC address.
The only thing you need proxy ARP for is IP's that don't have a machine that'll answer ARP requests and m0n0wall needs to handle the traffic on their behalf for those IP's. To simplify that, in your situation, you only need proxy ARP for public IP's.
First, remove the LAN proxy ARP. Then, I would suggest rebooting m0n0wall and all your machines, or clearing all their ARP caches manually. Otherwise you could have some interesting remnants of that config around that could cause problems. Then see if it works as you desire.
If that doesn't work, delete your WAN proxy ARP as well (even though it looks correct) and try setting up proxy ARP for just one of your additional public IP's (not your WAN IP). Does Server NAT for that particular IP then work?