Hi Andrew,
Last year we launched a change to the way orders are marked shipped in that they'll now send a notification instead of making the notification an optional, second step. Because of this, submitting tracking information via the API after marking an order shipped using the API will result in an error, because we cannot notify a buyer twice.
In this case, you'll want to update your app to only use the submit tracking method as it will mark shipped and notify with the tracking information.
I'll update our documentation as I see it's out of date.
Thanks for bringing this to our attention.