UIImagePickerController is not designed to be subclassed. Do so at your own risk.
In OS 3.1, cameraOverlayView is the approved way of drawing over the camera view. Note that if you set an overlay view, the autofocus controls no longer seem to work.
EDIT: Turns out I'm just paraphrasing the docs:
Important: The UIImagePickerController class supports portrait mode only. This class is intended to be used as-is and does not support subclassing. The view hierarchy for this class is private and must not be modified, with one exception. In iPhone OS 3.1 and later, you can assign a custom view to the cameraOverlayView property and use that view to present additional information or manage the interactions between the camera interface and your code.