Yes you can restart Messages which have failed when you send it to legacy systems. You can also get "Transport Ackowledgements" if you set it up in BPM and then you can have an exception handler for your block that will trigger the Alert.
Basically you have the ability to restart failed messages in XI when they are Asynchronous. It also depends where the Message has failed. if it is data issue then you need to correct the data and resend the Message but if it is something you can resolve in Mapping then yes you can restart the failed message.