Code has been tested and can now be deployed. (Didn't want to deploy on a Friday night then run away for a month!)
This has now tested successfully. To create failed cases, modify the SQS secrets in DEV so the queue becomes uncontactable. Once you have a failed case, you can revert your changes and run the cronjob, which will successfully resubmit. When previously deployed to DEV, the cronjob correctly identified FAILED
jobs and kicked off the resubmission process but couldn't proceed past the "transform and upload" task. Would appear this error was down to me fudging appplications into a failed state, so creating test applications as described above is the way to go rather than altering the DB.