Just to be honest, idealy you would not have the DC and Exchange server running on the ISA server. If it were me I would have a seperate ISA server, a DC running DNS and DHCP, and then a seperate Exchange server. I know that you probably won't be able to reconfigure it in this way as it is a production network, but in the future it may be something for you to think about... just my $.02.
Just to confirm though...
(1) All IP addresses are assigned statically.
(2) The external NIC of the ISA server has no DNS information
(3) The internal NIC of the ISA server points towards itself for DNS (127.0.0.1), clear other DNS entries.
(4) The NIC in the second DC points towards itself for DNS (127.0.0.1), clear other DNS entries.
(5) In the DNS properties on the second DC, forwarders are set to first forward to DC #1, then to the IPs of your ISP's DNS servers.
(6) In the DNS properties on the first DC, forwarders are set to forward the to IPs of your ISP's DNS servers.
I know we have gone through this, but I would like you to do the following again:
(1) On the first DC, run an IPCONFIG /REGISTERDNS. After 5 minutes, restart the DC. Wait for it to come back up.
(2) On the second DC, run an IPCONFIG /REGISTERDNS. After 5 minutes, restart the DC. Wait for it to come back up.
(3) Run a NETDIAG /FIX on the first DC. Post the results.
(4) Run a DCDIAG on the first DC. Post the results.
Sorry we haven't come to a resolution yet, but I will continue to work with you.