This may sound very simple, but did you check the quality of your serpentine belt?
What if the belt is slipping at higher rpm? Perhaps having a bad battery is causing a high load and the belt may be old and glazed. Check this first, then look at the alternator.
warmonger