I'm using my iPhone 3Gs and the Trails application as a GPS logger. The problem is that if GPS becomes unavailable, Trails records the cell tower location instead. This means that data points are bogus, and you get results like you are hiking and your reported is over 5000 mph. ;-)
So I've been looking for a way to remove these bogus data points. They are easy enough to spot: if you are at any kind of altitude they have always record zero ele; also even after a few minutes they do not move.
After much searching, I've found gpsWrite which can cut bogus data points. It can open and save .gpx files.
The only minor problem is that when it writes the file it puts no spaces or blank lines between the xml entries which makes it very hard to read the file.
I looked on the web site to see if there was a way to contact the developer, but there is no 'contact / email' section. If this was fixed I would consider registering for the $12.95.