Bem, o SLEEP não é um comando em lote padrão do Windows, então isso está errado.
Desde que o script nunca precise ser executado no XP, o TIMEOUT é perfeito. Por exemplo, para dormir 3 segundos:
timeout 3 /nobreak >nul
Se você quiser que o script funcione também no XP, o padrão é usar o PING. Ele aguarda aproximadamente 1 segundo entre os pings, então instrua-o a pingar mais do que o número desejado de segundos. Então aqui está o exemplo para um atraso de 3 segundos:
ping -n 4 127.0.0.1 > nul