I'm sorry, but I can't completely make sense of your calculations. For one thing, multiplying watt hours and horespower gives power squared, a unit I have never encountered a use for. You also made a mistake calculating the speed needed by Regen to catch up with Freewheel.

Let's go over the scenario a little more carefully:

Downhill (5% negative slope for 10 miles)

Freewheel - 10 miles / 24.35 mph = 0.41 hours (net power gain/loss is zero)

Regen - 10 miles / 15.00 mph = 0.67 hours (behind by 0.26 hours)

So far so good. Now, let's use that energy calculator to save some work. It calculates -5.7 Calories (kcal) burned per mile (the minus sign means the energy is available for regen). Over 10 miles, that amounts to 57kcal (66 Wh, but there's no need to convert).

Using your estimates of efficiency (0.7 generator efficiency and 0.9 battery efficiency), that works out to 57*0.7*0.9 = 36 kcal of energy stored in the battery via regeneration, close enough to your figure of 42Wh to say they are the same. Excellent!

Uphill (5% positive slope for 10 miles)

Freewheel - 10 miles / 7 mph = 1.43 hours

Here's where out calculations start to differ. The calculator says it will take 170 kcal to complete this climb.

Regen needs to make up 0.26 hours, and finish in 1.17h. He'll have to travel at 8.5mph (10miles/1.17hours). Calculator says: 175 kcal - only 5kcal more than Freewheel, and we saved up 36 kcal. Assuming 70% efficiency, we end the climb even with Freewheel and with 29kcal left over. Not too shabby.

But, let's see what happens if we use up the 36kcal completely. After losing 30% due to inefficiencies, that's 25 kcal extra to spend on the climb, enabling Regen to zoom up the hill at 14.5 mph. Regen makes the climb in 0.69 hours, 0.74 hours faster than Freewheel's 1.43. Finish times are Freewheel: 1.84 hours, Regen: 1.36. A staggering defeat for Freewheel.