When a DMZ configureation does not work, it usually is the routing. The server in the DMZ needs to have the default route set to the DMZ NIC of the firewall. Of course the NAT needs to handle both the external IP <--> DMZ and internal LAN <--> DMZ traffic.
What is the output of
# netstat -rn -f inet
?
If a client on the LAN tries to connect to the DMZ server, does
tcpdump on the server show these incoming requests? Do you see the server sending reply packets?
BTW in these cases a network diagram is always helpful