De acordo com a documentação RAND(n) está funcionando corretamente somente se n for constante. O efeito de usar um argumento não constante é indefinido. A partir do MySQL 5.0.13, argumentos não constantes não são permitidos.
E como dizem RAND() não é um gerador aleatório perfeito. É uma maneira rápida de gerar números aleatórios sob demanda que é portátil entre plataformas para a mesma versão do MySQL.
documentação do MySQL
Verifique o que acontecerá se você usar RAND() sem parâmetro.