Have you used the Application Recovery APIs with vista?
http://msdn.microsoft.com/en-us/library/aa373347(VS.85).aspx
Do you find them to be reliable and easy to work with?
I am reading through some of the docs and it seems rolling my own might be a better way to go because I can make my solution compatible with XP. Has anyone taken a stab at writing their own? Is there anything that the native methods can offer that cannot easily be reproduced by hand? What are some potential approaches for writing this type of solution, I feel that I may need a background service running to monitor the health of my application, is this the only way?