De acordo com a Documentação MSDN para o CreateProcess que está no final chamado para iniciar o aplicativo
- O diretório do qual o aplicativo foi carregado.
- O diretório atual do processo pai.
- O diretório do sistema Windows de 32 bits. Use a função GetSystemDirectory para obter o caminho deste diretório.
- O diretório do sistema Windows de 16 bits. Não existe nenhuma função que obtenha o caminho desse diretório, mas é pesquisada. O nome desse diretório é System.
- O diretório do Windows. Use a função GetWindowsDirectory para obter o caminho desse diretório.
- Os diretórios listados na variável de ambiente PATH. Observe que essa função não pesquisa o caminho por aplicativo especificado pela chave do Registro Paths do Aplicativo. Para incluir esse caminho por aplicativo na seqüência de pesquisa, use a função ShellExecute.
Em relação ao ponto 6. a documentação da função ShellExecute não descreve quando a chave de Caminhos do Aplicativo é processada.