The whole point of position() returning values in the range +/- 100 was so it could be directly used in APIs that take percentage as a parameter. We kept value() (which existed before the position() function was added) returning +/-127 as that was the traditional range for a VEX controller axis to return.
and for those interested, this is all position() does.
int32_t
controller::axis::position( percentUnits units ) const {
int32_t percent = value() * 100 / 127;
return( percent );
}