Sabemos que uma aplicação 32 bits, deve apenas carregar DLLs de 32 bits (mesmo que o Sistema Operacional, seja de 64 bits)
Já se você compila sua aplicação em 64 bits, deverá sempre utilizar DLLs de 64 bits.
Porém, infelizmente algumas DLLs possuem o mesmo nome, mesmo tendo arquiteturas diferentes, e isso pode levar o desenvolvedor a ficar confuso, na hora de saber qual é a DLL com a arquitetura correta.
É o caso da PGWebLib.dll, a versão 32 e 64 tem o mesmo nome de arquivo em disco...
Esse artigo lhe dá algumas dicas de como descobrir qual é a DLL correta a ser carregada, conforme a compilação do seu Binário
1 - Através das váriáveis de ambiente da PGWebLib 4.1.25.x ou superior
A partir da versão 4.1.25.x, a PGWebLib ganhou uma proteção de segurança e após a execução do instalador do Client Windows, você poderá encontrar as DLLs nas variáveis de ambiente:
PathPGWebLib e PathPGWebLib_x64
PathPGWebLib=C:\Program Files (x86)\PayGo\PGWebLib\PGWebLib.dll
PathPGWebLib_x64=C:\Program Files (x86)\PayGo\PGWebLib\x64\PGWebLib.dll
Saiba mais sobre a nova DLL PGWebLib, Segura, no tópico abaixo:
2 - Inspecionando o arquivo em Disco
Isso é um pouco mais difícil.. você precisa abrir o binário da DLL e examinar o conteúdo dele...
Nesse exemplo usamos o programa NotePad++ com o PlugIn HEX-Editor
64 Bits
32 Bits
Fonte: https://superuser.com/questions/358434/how-to-check-if-a-binary-is-32-or-64-bit-on-windows