How can I make my failing action retry without resorting to loops etc

Most actions in FinalBuilder support retrying. On the Action Properties dialog, there is a Runtime tab. Under timing properties, click the … button :

Note that this should only be used where an action is accessing unreliable resources, for example an external timestamp server that occasionally fails to respond or is unavailable. It is pointless to use this on a compiler action that fails because of a code error, the result will not change.