Bueno, ponle los "call :error" a tu batch y cambia el call por este otro, a ver si daba algún problema:
Código (dos) [Seleccionar]
:ERROR
IF %ERRORLEVEL%==0 (
goto:eof
) ELSE (
echo+ ERROR
echo Hubo un error mientras se procesaban los comandos a las %DATE%>>%LOG%
echo+ Pulse una tecla para reintentarlo...
Pause>nul
goto:INICIO)