Не знаю, где и как сейчас учат программированию, но вообще-то обычный процессор (который стоит в PC)
никогда не выполняет инструкции одновременно (тем более функции). Выполняется сначала одна, потом другая.
Всегда обе и всегда в том порядке, в каком они написаны. Другое дело, что TaskKill скорее всего не успеет выключить процесс. Решение "в лоб" - добавить между командами Sleep(N); где N - порядка 1000. Решение похитрее - ждать завершения работы TaskKill. А решение третье, ИМХО более адекватное -
TerminateProcess. Правда тут надо уже уметь работать с WinAPI.