I've been reading around this topic towards understanding whether there's some or no chance of downtime during an upcoming domain transfer for 15 live and very critical domains.
In our case there are three companies involved: CompanyA is the original registrar and DNS host, CompanyB is the new DNS host, and CompanyC is the new registrar.
I've already changed the nameservers for all domains to those of CompanyB. We suffered some downtime because CompanyA deleted their hosted DNS for our domains directly after the change, but the changes propagated and we're now able to configure our DNS with CompanyB.
From what I understand (please correct where wrong!):
There exists an SOA record that points oneofourdomains.com to ns.companyb.com. That record is maintained and authoritatively hosted by the ccTLD registry for the domain (eg. Verisign for .com). CompanyA currently has the ability to change the SOA record because they're the registrar.
There exist NS records for oneofourdomains.com, which are also related to the link from domain name to nameserver, are similarly hosted by the ccTLD, and which CompanyA are also able to change while acting as registrar.
Neither CompanyB nor CompanyC currently have any control over the SOA or NS records.
CompanyA are unable to cause us (DNS) problems during the transfer by dropping service early, because they are not the authoritative source for the SOA and NS records.
When we transfer the domains, it's administrative control of the SOA and NS records that will be transferred to CompanyC.
As long as we advise CompanyC that the SOA and NS records must not change (as regards pointing to CompanyB's nameservers), there's no need for any kind of DNS change, and therefore no possibility of downtime.
Is my understanding of this correct? My fear is that CompanyA will somehow cut us off again, and their support dept hasn't given me much confidence in their understanding of the topic.
If the nameservers aren't changed during the transfer, and there's no reason to think they would, then it will go fine without any noticeable interruption in service. I've transferred numerous domains using exactly this procedure.
In most TLDs, a transfer has no impact on nameservers, that is a transfer among registrars is an administrative change, not a technical one.
There are exceptions, but few of them.
Except of course if you use the current registrar ALSO as the DNS Provider, which is possible but certainly not required.
To avoid downtime, if you need to change both the registrar and the DNS provider, in the case the DNS Provider is NOT the registrar you can do the following:
You can of course swap both cases, and do the registrar transfer first and then the DNS provider change.
Note that if the registrar is the DNS provider then it will be more difficult: as soon as you transfer the domain out of it, you risk it stops responding to DNS queries for it. It may not or should not, but it all depends on the contract signed with it. As soon as the transfer is done you are not really anymore in a contract with it and hence it can view things as not needing to provide DNS service anymore. Some registries, like .FR, require (but in practice this is impossible to verify and even more enforce) the old registrar to keep being a DNS Provider for some days. I would avoid this case as much as possible. In such situations it is better to first change the DNS provider so that the current registrar is not the DNS provider anymore, and then change registrars.