Great! Thanks for the quick response.
I didn't even think about pauses and can see what a trouble they would be. All of my runs will show a pause as that is the only way to stop a workout using the iPod Touch (if you also want to use Clicks as splits). Around 10 metres from the end of my run I hit the iPod button (registered as a click) which brings up the interface on the screen and then I can pause the workout. I can't actually end the workout until I unlock the screen - which may not happen for a few minutes up to hours. What is really annoying with the iPod is frequently the duration associated with the Pause is different from the duration associated with the workout. For example, from my last run, the pause duration is 1405867 but the duration in the run summary is 1406443. It is only a half second different, but there is no logical reason for it as I go directly from Pause to End (even if there is a gap of minutes to hours). Anyway... enough of that.
If we ignore pauses for the moment, here's how I was thinking the average and/or maximum could be done. We know the start time for the run. We can calculate the end time by adding the duration to the start time. Look up the weather station for all the entries it has between the start time and the end time. Depending on the weather station this may result in only one entry or it could result in 20. (Of course, there may be none, because no entries fall inside the period between start and end, but for those situations I recommend you do whatever you are doing now and forget about average). For average, just add all the entries you got from the weather station for the period and divide by the number of entries. For maximum, just take the biggest one.
Maybe you could add a profile option for temperate and users could choose Start, Average or Maximum. Those that do pauses in the middle of their runs might be better off with Start.
Now to my data.... For my most recent run it is showing 26.2ºC. The run started at 8:20 and the duration was 23:26. i.e. end time was 8:43:26. The available weather data is as follows:
08:17 20.8 °C
08:22 20.9 °C
08:27 21.4 °C
08:32 22.6 °C
08:37 23.7 °C
08:43 25.5 °C
08:50 25.9 °C
I would have thought start+duration/2 would be 8:32 which would give me 22.6ºC. So something isn't right.
Using the method I just proposed, the average would be (20.9+21.4+22.6+23.7+25.5)/5 = 22.8ºC. In this case, either method would work well.