QCPAxis::mouseReleaseEvent stops dragging if any mouse button is released, even if the LeftButton is still pressed, and the button that was released was the MiddleButton, RightButton, or anything else. It should presumably look at event->button() and only stop dragging if the LeftButton was released.
QCPAxis::mousePressEvent [re]starts dragging (including setting mDragStartRange) when a different mouse button is pressed, so long as LeftButton is also currently pressed. It should probably just look at event->button() for the single button that triggered the event, not event->buttons().
Failing that, it would be nice to have some way to tell if the axis is currently dragging (e.g. have access to mDragging) so that applications that wish to change the mouse cursor during dragging can tell if dragging is ongoing. Currently, even if the QCP::iRangeDrag interaction is enabled, a mouseMove event with event->buttons().testFlag(Qt::LeftButton) true is not a guarantee that dragging is actually occurring, if the user clicked and released the middle or right mouse button at any point.