Now this, I have to say, is cool stuff.
By any chance do you happen to remember what the overall average point-buy cost turned out to be?
Also, how did your program (if it did at all) assign point-buy values to stats below 8?
And one thing that needs to be noted: point-buy values really skew high once an 18 gets rolled. Particularly if numbers less than 8 are treated like an 8 you could hypothetically have these two characters:
12-12-12-12-12-12 - average 12.0 - net overall bonus +6 - point buy cost 24
18-14-7-7-7-7 - average 10.0 - net overall bonus -2 - point buy cost 23
Roughly the same point cost...and about there all similarities end. Which means, while in large-data analysis pont-buy values is an OK comparison it might not always stand up for comparing individual characters.
My analysis was based on numbers below 8 just counting as the number minus 8 because I didn't want to skew the results too much.
Things do get screwy though when you try to do the comparison, and I wish there was a better way. The standard point buy seems to be based on the 3.5 elite array (15, 14, 13, 12, 10, 8), which also seems to be pretty close to the average according to this.
It seems to me that a few high stats mixed in with a few low stats is going to average out to a character that's much more competent in combat than someone that has all low or average stats, although saves and out-of-combat options may suffer of course.
According to my app, the average minimum for any given character is 8, the high is 15. Limiting numbers to that range, the result is a little below 27 if you roll. If you follow the 3.5 point buy and allow 18s it's 31, if you ignore numbers below 8 it's a 32. That to me indicates that the high numbers are probably a bit too costly ... or that at a certain point you're just comparing apples to oranges.