Hi Folks
I have isolated the problem myself and have created a 100% workaround - however, I don't use the MYOB SDK - I wrote my own access code from the ground up using VBA Access as all my clients use MS Access databases.
The problem is as follows - and I have managed to generate all the errors to confirm.
In a nutshell - it is the MYOB token server handing out refresh initiated access_tokens.
To explain - you got to force the server to give you a new 7d Refresh code which comes also with a 20 min access_token - this works 100% and gives me 20 minutes of access.
To regain access I flush the expiry date to be less than today and at the refresh corner - tell it no get a new code.
If you refresh the MYOB Server gives you a token for an offline file and the token is something like "org_........ " when it should be "AAE.... at the end of the token you will see the scope - it is wrong.
Anyway - I fell across this problem because my trial app I built years ago to test all this didn't have an auto-refresh - it just got a new 7d code.
All my clients are up and running but I have had to jury rig the access token code.
But it works 100% - the problem is MYOB's refresh issue server!
Sorry I can't help with the SDK - I am a C# & a VB.Net person but other than getting the VB SDK working 3 years ago I never used their code.
Regards The Doc