Short: Using 64 bit memory will not be enough. The software has to be coded as an 64bit application in order to use 64bit memory which isn't the case.
More detailed explanation: This is due to "addressing limitations". Simply speaking it does not know how to access memory beyond 32bit which means it has a theoretical limit of up to 4GB (2^32) of RAM as a maximum (64bit could theoretically use up to 2^64 GB of RAM). This is all very general and simple and not the absolute truth. For example solutions like memory remapping allowed a 32bit Win to use more the 4GB of memory. But they have to be implemented into the software like 64bit has to be implemented within the software.
Conclusion: So unless you change the source code you can not do anything from the "outside". Edit: My bad, apparently there is a little bit you can do: Wasif offered a possible work around in his answer to access the full 32bit address range for a total of 4GB instead of just 2GB (here's a thorough article about it). But still, it will not be "as if it was a 64 bit" application. (And it might not necessary solve the OP's problem of crashing either, since more then 2GB of memory would be available to the application via virtual memory provided by the operating system).
Note: see Wasif answer for a more in depth explanation and a way to access more then the standard 2GB of memory to make use of the full address range of a 32bit application.