Each version of the OS has the same API for all devices, but some of them don't support all all features. For example, the UIImagePickerController allows the user to select a photo. On an iPhone, they can take a picture with the camera or pick an existing photo from their Photo Library. With iPad and iPod Touch, there is no camera, so the user could only pick a picture from their Photo Library.
If you are relying on hardware features such as camera, compass, gyroscope, accelerometer for your application, you'd need a device that has this feature as the emulator does not them.
iPhone 4 has all of the hardware features of all iPhone, iPod Touch and iPad devices. Buying an iPhone 4 with or without contract is going to cost some money, but if you're developing an application you can recover the cost with sales of your app or iAd revenue.
If your application does not need specific hardware, then the best choice for you is going to depend on cost and whether you will use the device each day. A second-hand iPhone 3GS will do almost all iOS 4.0 features except front-facing camera and gyroscope.