Concordo com Andrew B, exceto que para fins de legibilidade eu não recomendaria usar apenas espaços em branco. Use o símbolo @ ou o nome completo da zona ("mydev.") Naquele local para tornar as coisas significativamente mais legíveis. O espaço em disco não é mais caro e economizar alguns caracteres à custa de ter um arquivo em que você não entende o que o analisador de zonas está fazendo não é uma vitória.
Para explicar um pouco mais, cada declaração de registro de recurso consiste em um rótulo, um ttl, uma classe, um tipo e um valor. Mas você pode deixar de fora qualquer um, exceto o valor, e eles serão herdados de cima.
O snippet que você publicou está tentando declarar registros com o nome "mydev". para registros de classe IN e tipo SOA, NS, MX e A, mas como você deixou de fora espaços em branco importantes no início das linhas para as declarações de registros NS, MX e A, você está com problemas.
Se os itens entre colchetes forem padrões herdados, em vez de:
[mydev.] IN NS mydev.
[mydev.] IN MX 10 mydev.
[mydev.] IN A 12.85.28.217
você está inadvertidamente declarando:
IN.[mydev.] [IN] NS mydev.
IN.[mydev.] [IN] MX 10 mydev.
IN.[mydev.] [IN] A 12.85.28.217
e como resultado, nenhum registro NS é declarado como antigo:
mydev. IN NS mydev.
resultando na mensagem de erro que você está vendo, "zona mydev / IN: não possui registros NS"