I recommend you provide universal 32-bit and 64-bit binary. This will give you the most flexible option and still be able to take advantage of 10.6 improvements.
The benefits of a 64-bit app are:
- larger address space
- take advantage of compiler optimisations for x86_64
- more efficient Objective-C runtime
- avoid faulting in the 32-bit frameworks on Snow Leopard
Nowadays, when nearly all the Snow Leopard apps are 64-bit, Apple is advising developers to make their apps 64-bit also. Even if you don't need the extra address space, it will still generally be more efficient overall. They stress the point that you don't want your app to be the only 32-bit app on the system (the startup time would be very slow!). So there are definite benefits of making a 64-bit build.
Work on optimizing the Objective-C runtime for 32-bit has been limited by having to retain ABI compatibility. But with the 64-bit runtime, they were able to come up with a new ABI that is more efficient and faster. So you get all the benefits of performance improvements in your app, and in all the Cocoa frameworks too.
A 32/64 Universal binary is a good idea. Having separate downloads would only confuse your users. You can always zip it to reduce the download size.
Please note that the type of the kernel is independent of the frameworks. There is quite some confusion about this in 10.6, as the kernel boots into 32-bit mode by default. But this is still capable of hosting 64-bit applications and frameworks.
You do not need to be running the 64-bit kernel to run 64-bit applications. Snow Leopard is optimized for 64-bit, and your app needs to be 64-bit to take advantage of that.
The Apple documentation on the topic is well worth reading (and covers myths such as the one above):