I've modified the AVCamDemo from WWDC 2010 to use AVCaptureSessionPresetPhoto instead of AVCaptureSessionPresetHigh. This works fine with iPhone 3GS (iOS 4.3.5), but when using an iPhone 3G (iOS 4.2.1), the completion handler for captureStillImageAsynchronouslyFromConnection never gets called, and the preview layer freezes on the last frame.
Has anyone else seen this behavior or know how to explain it?