Difficult to say for sure, but I wouldn't rule out the motor being faulty.
1) the speed control isnt getting the forward drive to the motor properly, when under load.
2) the motor is not in good shape (may need cleaning, or replacing)
3) the differential may be slipping (there may be less load on the motor/gearbox in reverse)
I would have thought if it was a battery problem, you wouldnt get the motor to work well in forwards, or reverse.
There is no harm in putting a voltmeter on the battery once its charged though to see what reading you are getting.
Fusion Hobbies / www.horshamrc.org
The wife stops me being sane and the r/c stops me from going insane....