Edit: O problema real parece ser que você está usando os argumentos errados. adicione '/ k' ou '/ c' quando quiser executar os comandos que você colocou na string Arguments.
Antigo, ainda pode ser relevante: Supondo que você tenha muito bom motivos para não usar o namespace System.IO para obter as informações que deseja como a maneira nativa não hacky, acho que é o fato de que você está tentando executar sem ShellExecute, o que significa que você tem que fornecer o caminho completo para o executável que você está tentando executar (neste caso o cmd.exe), pois o comando não é executado em um shell e, portanto, não possui variáveis de ambiente disponíveis para expandir a localização do cmd .Exe.
Dito isso, eu não testei isso, estou no Linux e geralmente desenvolvo no Mono. SuperUser não me deixou adicionar meus dois centavos sem uma resposta completa, porque eu não tenho reputação suficiente, mas ainda sinto que devo adicionar meus dois centavos.