The API for getting a list of changes shouldn't have a hard limit of 50. Bitbucket has performance timeouts in place that would/should allow a user to get many more changes if it is performant to do so.
For reference: Changeset resource
The limit of 50 changeset does not prevent users from traversing all changesets.
The start parameter is meant to be used to get the next 50 by passing the last changeset hash from the first response as the start for the next page, etc.