Если вызываемый вами «python» является пакетным файлом (возможно, python.bat в пути?), То запускающий пакетный файл будет прерван после вызова, если вы не используете команду Call, как вы делаете для temp.bat.
Так, возможно @echo off
call python -c "print('echo text')" > %TEMP%\test.bat
call %TEMP%\test.bat
даст вам лучший пробег?