Olá,
PCode significa Pseudo-código. é um código interpretado, semelhante a tal Intermediante Language que a Microsoft criou para o .NET. Quando vocÊ compila para o PCode a compilação é muito mais rápido, mas o programa necessita de mais DLLs externas para ser executado, embora o pseudo-executável fique menor. Nós chamamos de pseudo-executável porque ele na verdade é uma espécie de script de execução para uma DLL que irá processr o seu programa na hora. Por isso um programa PCODE em geral é mais lento.
Já o Native-Code (Código Nativo) é um processo de compilação completo que dá origem a um executável "de verdade" que não depende de uma DLL de execução para trabalhar. Você também em várias fomas de otimizar o código nativo, priorizando a velocidade de execução ou o tamanho do executável final. um programa compilado desta forma tende a ser mais rápido e estável que o PCODe.
um abraço,
Sandro.