I have a garmin forerunner 305 for my primary bike gps. However, on occasion I forget to charge it. I've used mapmyride on my iphone in a pinch. On my old iphone 2, it ran the battery dead on a short ride. Apparently, the newer phones and new app are better. A friend, who is a serious rider (and a cheap skate) uses it exclusively now.

The last time I checked for an iphone mount, they were unrelieable with damage resulting! I like to be able to monitor my progress, so I'll save up for a new garmin :-)