With the price of memory today, the easy answer would be “as much as the hardware can accommodate”.
A more general rule, though, for SQL Server is at least 12GB per CPU core. This is so general, though, that you will get a lot of people questioning it.
The actual answer will depend upon an analysis of the actual performance of your system and how much you will be able to capitalize on IO caching and how much calculation and aggregation your normative query model has. A good performance tuning expert should be able to use perfmon/profiler and some test cases to see what kind of caching benefits you can get.
Since you are making the move to 64-bit, why not also consider moving up to SS2008? Since, I assume, you are going to go through a full testing cycle on the new hardware, the benefits of SS2008 are too much to not consider.