O limite de pesquisa nula foi introduzido na RFC 7208 e refere-se a pesquisas de DNS que retornam uma resposta vazia (NOERROR sem respostas) ou uma resposta NXDOMAIN. Esta é uma contagem separada da contagem geral de 10 pesquisas de DNS.
As described at the end of Section 11.1, there may be cases where it is useful to limit the number of "terms" for which DNS queries return either a positive answer (RCODE 0) with an answer count of 0, or a "Name Error" (RCODE 3) answer. These are sometimes collectively referred to as "void lookups". SPF implementations SHOULD limit "void lookups" to two. An implementation MAY choose to make such a limit configurable. In this case, a default of two is RECOMMENDED. Exceeding the limit produces a "permerror" result.
Isso serve para ajudar a impedir que registros SPF errados ou maliciosos contribuam para um ataque de negação de serviço baseado em DNS.
No seu caso, a parte problemática parece ser:
include:spf.messaging.microsoft.com
Seu registro SPF é:
v=spf1 ptr:protection.outlook.com ptr:messaging.microsoft.com ptr:o365filtering.com -all
Todos esses três registros, se pesquisados, retornam NOERROR sem registros ou NXDOMAIN.
Como três registros não retornaram nada, você excedeu o limite de pesquisa vazia de 2 e o registro SPF falha.