AccelStepper itself is not limited to ±32,767 steps. It uses 32-bit signed longs for positions (±2,147,483,647). If you are hitting a limit near 32,000,–,35,000, it’s almost certainly because your own variables or function parameters are declared as a 16-bit int instead of a 32-bit long (or long long). Simply use a larger integer type in your code, and AccelStepper can handle those big step counts.
Microstepping can be chosen based on mechanical requirements (resolution vs. speed/torque), not because the code is limited to small values.