For my screencast here, I ran the application in the iPhone Simulator and recorded it all using ScreenFlow. I can't recommend ScreenFlow highly enough, as it really simplifies the whole process. ScreenFlow records your entire screen, but it provides excellent editing capabilities for cropping the video to the relevant 320 x 480 (or 480 x 320) section, as well as fading in and out title graphics or lettering. I also used SimFinger just to provide a good cursor, but I see that the latest release of ScreenFlow now has that capability built-in.
For a microphone, I actually used the USB one from Rock Band. It's a surprisingly good Logitech microphone that's recognized as soon as you plug it into your Mac.
I needed to do a little post-processing of the MP4 output to make sure that the video could be played natively on the iPhone. I've used both VisualHub and iMovie to produce MP4 videos with all the right settings to play on the device. Both have simple iPhone export profiles.