Now that iPhone SDK 4.0 is available for download, and iOS 4.0 will be available for consumers shortly, does it make sense to start using the new features available in the 4
I think it's safe to expect that the majority of users will upgrade as this is a free upgrade from 3.0. It is fairly obvious that Apple are keen on getting users up on 4.0, which is why it's free.
As with a normal update, iTunes will nag about upgrading, and if you need to reinstall the phone will usually redirect to the latest version.
As you're selling an app, you can be fairly confident that your buyers have internet access, and will at least occasionally dock their phones and get the free update request. People who have updated their phones before are very likely to similarly upgrade to iOS4.
Currently, as I see it, the main motivation to stay on 3.x would be for iPad compatibility.
You should also consider how your sales are expected to look like during the coming 6 months. What is the cost of not using the latest features? Will you be able to shave down on development time or add cutting edge features by going 4.0? Can competing app leverage 4.0 features to get an advantage? Advertising it as 4.0-only might have a positive effect on the perception of the app.
There will be a certain percentage of people who won't be able to run your application because you use 4.0. The trick is to figure out if that loss in sales is bigger or smaller than the gains you get by leaving them behind.
The more buyers you expect, the more worthwhile it is to let all of them run your application. Also, are the buyers likely to be people with computer know-how? If so then they might be even less likely to stay on 3.x.
Also, keep in mind that pre-iPhone 3G phones does not support iOS4.
One more addition:
Apple is already beginning to exclude 2.0 apps from the AppStore, see https://developer.apple.com/iphone/checklist/