HI there,
I would say that all you really need to do is to configure conditional forwarding between the three domains.
By deleting root hints you are in effect blocking queries for external hosts, but another method you could use is to configure a '.' zone on your servers. This effectively makes the server think it's a root server, and not forward queries on the root hints. This would be a less destructive way of achieving what you want. At least you could simply remove this zone if you do want to allow external access.
As long as you have conditional forwarding set up, then there is no point adding your internal servers as root hints, as they would never be used.
Tony