Programación en Windows Acerca del cierre del proceso
if(pe32.szExeFile == "cmd.exe")
El problema radica en esta frase. Semánticamente, esta oración parece ser "Si la cadena del archivo exe y cmd.exe son iguales, ...", pero de hecho, lo que se compara aquí son solo dos consejos. Deberías reemplazarlo con:
if(!lstrcmpi(pe32.szExeFile, "cmd.exe"))