A função __autoload foi definida como descontinuada do PHP e poderá na próxima grande versão já ser retirada.
Na versão PHP7.2, o uso da função já passará a emitir mensagem de “deprecation notice” toda vez que encontrada.
Desde o PHP5.1 é recomendado que se use o spl_autoload_register e não a função __autoload diretamente, com tal recomendação já aparecendo na própria documentação do PHP.
Uma das vantagens do spl_autoload_register() segundo os desenvolvedores é a capacidade de cascatear métodos de autoload, o que facilitaria inter-operabilidade entre diferentes bibliotecas.
Outro ponto alertado pelos desenvolvedores é que ambos são mutualmente excludentes. Não há como usar a função __autoload e spl_autoload_register, perdendo com isto todas as vantagens oferecidas por spl_autoload_register, sendo também a utilizada pelo Composer, a função __autoload e seu mecanismo tem poucas aplicações atualmente.