Yup, sounds like a Rheostat.. Depending on how old it is, could you take it apart and clean the contacts in the dial? This might be to hard to accomplish though.. Does the motor run full speed when you bypass the rheostat and wire the motor directly to the battery? This will rule out any motor damage issue. If you can, try to shoot some electronics contact cleaner into the Rheostat to see if that might help.. just trying to help out a little...
I found this on the net and it might help...
To resolve the problem with a dead spot or erratic throttle, the wiper and rheostat need to be deoxidized and the wiper should be adjusted to ensure positive contact with the wire wound rheostat.
A burnishing tool is useful to deoxidize a wiper or the windings of a rheostat. It's kind of like a thin nail file but with a much finer abrasive surface. Alternatively, you can use #600 or #400 sandpaper.
Next, clean the edge of the wire wound rheostat that the wiper touches. Do not sand side to side but rather with the direction of the wire turns. Make sure no wire is broken. If it is, that's another repair we'll write about soon. Lastly, check all the electrical connections that use a screw and make sure they are snug.