I've started developing for the iPhone this past month and ran into an issue that only appears on the device and worked fine in the simulator. It boiled down to case sensitivity for image filenames. The simulator doesn't care about case, but the iPhone itself does.
I called [UIImage imageNamed:@"myfilename.png"] and my images appeared fine in the simulator. When I tested my app on the device, it didn't crash, but the images never showed up. I fixed it by making sure all of my image files were named in lowercase, and then I used the lowercaseString method of NSString when calling the imageNamed method.