"Works," of course, means it resolves the address correctly to the local address. I'm not sure what else it could possibly mean.
Then you've clearly never worked in technical support 🙂
A typical support caller will use the term ' it doesn't work' for everything from 'I can't find the power switch' to 'why doesn't XYZ app correctly factor operators of the second quanitzation of QFT'.
As such, it isn't clear to me that your clients are able to resolve the addresses you expect, or if they are, they get the results you expect.
Indeed, in one post you say:
mail.company2.com 192.168.1.2
www.company2.com XX.XX.XX.XX (2nd external IP)
But go on to say:
No idea why server.company2.com and mail.company2.com won't break down locally at all
Which seems to contradict what you're saying, since it appears that mai.company2.com is resolving the internal address (which is what I assume you mean by 'break down' since that's not a common DNS-related term).
Even so, it's still possible that the addresses resolve as expected, but you can't access the site in a browser. For 99.9% of users, not being able to resolve the hostname and not being able to load the site in the browser amount to the same thing and would still fall in that 'doesn't work' classification. However, that could be the result of DNS failure, or web server misconfiguration, or port forwarding in your router, or any number of other things.
So, therefore, I don't think it inappropriate to ask for clarification.
It's a good idea, IMO, to have the external DNS in case the internal DNS fails
Unfortunately you're wrong there 🙂
First off, your internal server shouldn't fail. Secondly, if you're that worried, setup a second internal server to hand out to your clients. Having clients use external DNS will, at some point, result in more calls because users will be using that external server without even realizing it, and things won't work as they expect.