Hi there,
The most obvious problem here to me is that fact that you've got two DHCP servers on one subnet. DHCP is a low level protocol that is indicriminate in who it hands out IP addresses to. A client will send a broadcast asking for a DHCP address - the first DHCP server to receive the broadcast will respond - this could be either DHCP server - so it's 50/50 as to whether your clients get the right configuration (Domain A or Domain B). As soon as DHCP has given the wrong DNS server address to the client, it's all broken.
It is possible to have two domains running on the same subnet, but DHCP it isn't. The important thing is that the clients are talking to the correct DNS server, as this is what they use to locate the DC they will talk to.
This is why fixed IPs are working. The only fix I can see for this is to either split it into two subnets, or decomission one domain's DHCP server and configure it's client statically.
Tony