Como você está descobrindo, isso não funcionará.
%ERRORLEVEL% (que não é, na verdade, "saída", mas sim uma função do shell local) retorna o status do último comando executado; no servidor B, que é EXECUTE_MY_COMMAND , como você quer que seja - mas em A, é putty ! Como o Putty conectou-se com sucesso e fez o seu trabalho, %ERRORLEVEL% é 0, como deveria ser.
Você pode modificar seu script em B para terminar com algo como echo %ERRORLEVEL% (em vez de sua instrução if ), capturar essa saída em A (por exemplo, por redirecionamento) e reagir de acordo. Ou, seja o que for em A que esteja respondendo ao resultado, você poderia considerar reagir em B, tornando todo o processo inteiramente independente no servidor B e simplesmente acionado pela conexão de A.