I'm designing a business continuity plan. The company's website uses two internally-hosted servers at two different datacenters to provide name resolution. I've been asked to add a third WHOIS record hosted at UltraDNS or DynDNS, for "DR purposes". I.e.
ns1.company.com ns2.company.com NS1.ultradns.com
My question: What will happen if both of my internally-hosted DNS servers fail, and clients attempt to look up "company.com"? Will the client hang, time out, and then move on to the next? Is it entirely round-robin? Haven't been able to determine this from Googling, and wanted some backup.
You want to host an A record and NS records, most likely, not a WHOIS record. If one server in the authoritative name server list is unresponsive, another server in the list will be queried. It will likely slow resolution down a bit, but won't break it.
That being said, you seem to have a bit of a misunderstanding about some basic terminology and functionality. You should read the relevant DNS RFCs and go from there before you attempt to implement anything.
Initially, lookups will failover to your ultra.com DNS. Depending on the TTL of your records your DNS will eventually fail. This will happen whenever your primary DNS server is down for an excessive length of time.
Given that your sites are likely down, it is unlikely DNS will be useful for much other than indicating that email should be deliverable. It is possible you may have other sites listed in DNS and they would be reachable. However, if you had three sites it would make more sense to add the third site as your third DNS site.
With your current configuration, if one site is down, all DNS will be handled by the other. If the site with your primary DNS is down, you will need to reconfigure the other to become primary. As @MarkM noted, you should review the DNS RFCs. They provide a lot of the answers you are looking for.
(My answer is about hosting zone - that's what you seem to need, not WHOIS record)
See #312459, look for the answer by "Server Horror", I find it excellent.
Shortly, what intended to happen is sometimes longer delays. But what may also happen is client time-out before it receives the answer, and thus user will see a message about unable to resolve hostname.
The higher your TTLs, the less your users will be affected - resolvers eventually do get an answer and then they will cache it for longer time.
Anyway it's a good idea to have more servers (and that is what RFCs suggest too), yet it's still a good idea to have reliable servers.
Btw, why just ns1.ultradns.com, why not ns2, ns3 and so on - don't they have many ? Actually the more is the better. (Root have 13 for example).