Thanks Mike
Yes, so far we've been OK, relying on the next invocation of the sync being good enough as a 'retry'. Call-by-call retrying is annoying but I guess fine for reading but what about writing? E.g. you can't tell whether MYOB has created an invoice or not for a given request if the API simply crashes. I noticed of the 12 crashes writing invoices last night that in one case MYOB had actually created the invoice - so it got duplicated on the next invocation.
Out of interest, how do you handle that situation? Send some id in a hidden field on the invoice header and always look for that in existing invoices before potentially writing a new one? (give the API even more things to do - lol.) And what if MYOB only writes half the invoice lines? Have you found you need to check for that?