This is very common, when the different domains are on different network segments.
Do you do the 10.x.x.x address space under a Class C arrangement, with a 24-bit subnet mask (255.255.255.0)? If so, then I am not surprised that DomainA can talk to DomainC, but not to DomainB.
A and C are both on 10.0.1.0/24 (again, assuming Class C) and Windown works in this way best on the same subnet. It does not cross subnets well. You need to force it to do this.
Now, you can set up WINS servers on each PDC, link the WINS servers together (as push/pull replication partners), and that is SUPPOSED to work. But, in my experience, it doesn't.
The best way to set this up, where domains cross subnets and they can find the Domain Controllers in each domain, is to use the LMHOSTS file on each Domain Controller.
And here is a Technet article that tells you what to do and why:
http://support.microsoft.com/?kbid=180094
hope this helps