Você pode verificar o log de eventos do Windows e fornecer informações mais específicas sobre o erro, se tiver sorte, verá um rastreamento de pilha (dependendo se foi compilado com símbolos de depuração ou não). Isso pode lhe dar uma pista; sem mais detalhes, não acho que poderemos ajudar.
Com relação à sua pergunta sobre 64 bits versus 32 bits: por padrão, os aplicativos .net são independentes em relação à arquitetura da CPU. Como o aplicativo é JIT'ed para código de máquina nativo antes de ser executado (na máquina em que está instalado), esse compilador JIT é responsável por essa função. No entanto, no Visual Studio, você pode substituir esse comportamento se precisar.