I use one of these to mount my iPhone
http://www.ibikeconsole.com/ It does a good job, but is not waterproof. Since I try not to ride in the rain, that is not normally a problem. I keep a zip lock bag in my tail bag in case I get caught by surprise.
I also use the Runkeeper app since I have a friend at work that uses it, that's what I started with and it does everything I need. With the iPhone 4, I can ride with music to the headset and display turned off for longer than I can ride. I did 5 hours Friday and the battery showed about half full.