Один из простых способов выяснить это добавить логический флаг к вашему экземпляру NSUserDefault:
In - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[[NSUserDefault standardUserDefaults] setBool:FALSE forKey:@"FinishedSafely"];
In - (void)applicationWillTerminate:(UIApplication *)application
[[NSUserDefault standardUserDefaults] setBool:TRUE forKey:@"FinishedSafely"];
Затем вы можете проверить этот ключ во время запуска, чтобы увидеть, был ли последний экземпляр закрыт правильно, и действовать соответствующим образом.