Você está redefinindo a variável do sistema em uma regular. Quando você fizer isso, o sistema não irá utilizá-lo até que a sessão de comando seja fechada.
A melhor maneira seria usar
exit /b 0
em outro arquivo de lote e chamá-lo de seu script principal. Onde o número 0 é o seu nível de erro desejado. Ou isso, ou use um comando que redefina o nível de erro para você, como echo, findstr etc.
Por exemplo, todos os comandos a seguir definem ERRORLEVEL como 0 no seu arquivo batch:
VERIFY > nul
cmd /c "exit /b 0"
ver > nul