Set a WF variable, Have the OD script check it and on the 4th failure, return to a different callBack. If you have a timeout on that task, it will not do the 3 tries and out, it will just go wherever you want it to.