I am not sure what you mean by 'large address aware machine'. Large address awareness is a property of a 32 bit windows process, and not of the machine running it.
Because large address awareness applies to processes, in theory there is nothing TWAIN needs to (or can) do to allow you to write applications that use it in a 32 bit LAW process. It is very clear from all of the literature I've read that the large address aware flag has no effect when applied to DLLs. As long as your main application has this flag set, that's all that should need to happen.
All code whether in a DLL or an application does need to follow some rules in order to work properly with pointers that can go beyond 2GB, but the 32 and 64 bit TWAIN DSM are both built from the same source code and if the rules were not being followed, then the 64 bit DSM would probably crash even on a 64 bit machine with lots of RAM. We have used the 64 bit DSM plenty where I work without any issues, so I don't think there is an issue with the DSM and pointers > 2GB.
It's possible that your TWAIN drivers (data sources) are not happy living in a large address aware process, and it's also possible that even though your process is large address aware, you are trying to allocate too much memory. You should already know if this problem happens because you are trying to allocate > 2GB, and you could try a different scanner from a completely different manufacturer to determine if the issue is in the data source.
There are some cautions when using LAW flag in your application that could be causing a crash:http://msdn.microsoft.com/en-us/library ... 73(v=VS.85
Of particular note at that page is the statement:
•Addresses near the 2-GB boundary are typically used by various system DLLs. Therefore, a 32-bit process cannot allocate more than 2 GB of contiguous memory, even if the entire 4-GB address space is available.
So if you are hoping that you can simply compile with the LAW flag on and then allocate huge chunks of memory, your assumptions may be wrong. The actual limit of what you can allocate may also be lower than 2GB because by the time you get around to trying to allocate something, you've probably already used up a bunch of the lower 2GB, and there is only 1GB of space above the 2GB boundary if this is a 32 bit machine (I'm not really clear on whether you are on a 32 bit machine that has the boot.ini modified to allow 3GB of addressable space or on a 64 bit machine trying to run a 32 bit app).
With regard to Twacker64, it is a native 64 bit application intended to run on a 64 bit operating system with a 64 bit DSM and 64 bit drivers. You should only be using it if all the above are native 64 bit. If your drivers and apps are 32 bit, then you should be using the 32 bit version of Twacker.
I hope this helps.