DOn't be a slave to the 'puter - it sounds like you are getting faster, but because of the conditions it's not showing up in your average. This is mostly the math reality - if your average is 12 mpg, but a certain section of road makes you slow down to 10 mph, then you have to go 14 for the same stretch to make up for it. But, if you're trying to average 16, then to balance out dropping to 10 you've got to go 22 mph and then you might be dropping those buddies of yours :-)
I'd look for a different progress monitor -- though you've been doing that and see all that evidence that you're getting stronger I have a four mile loop I go out on and I worked to get my average on that up to 16 mph (four miles in fifteen minutes). It lends itself to intervals 'cause there's a bitty hill at the very beginning to CHARGE on up - but those corners still slow me down 'cause I'm a real weenie.
And for me, stroke technique has always been a key ('specially on hills). Keeping things really efficient while charging is what really makes the difference -- spinning faster doesn't help me at all, but making sure I'm getting something out of every part of the stroke does.
It really sounds like yo'ure making good progress, though, and probably are getting a lot mroe endurance that may not even show up on those "averages."