Então @Italo Jurisato Junior eu estava utilizando da seguinte forma,
1) DistribuicaoDFe, passando 0 como parametro para receber o ultNSU e maxNSU,
depois era feito uma verificação com o banco saber qual foi a última nota checada
2) Depois utilizo DistribuicaoDFePorUltNSU, passando o ultNSU armazenado para pegar o retorno das 50 próximas notas,
3) por último DistribuicaoDFePorChaveNFe para baixar o XML, para que possa mais tarde fazer as manifestações.
O problema é que agora, por motivos que não entendo, o ultNSU começou a retornar igual (DistribuicaoDFe), e mesmo que emita outra nota contra meu CNPJ ele continua com o mesmo problema. Essa parte que não entendi o que aconteceu ou o que estou fazendo de errado.