そこで、NSNumber オブジェクトの NSMutableArray をファイル「times.plist」に保存し、それをロードして起動時に保持すると、NSLog には正しい値が表示されますが、後で [times count] が 0 になります。
times = [[NSMutableArray alloc] initWithObjects:[[NSNumber alloc] initWithFloat:time],nil];
...
[times writeToFile:@"times.plist" atomically:YES];
...
times = [[NSMutableArray arrayWithContentsOfFile:@"times.plist"] retain];
NSLog(@"%f",[[times objectAtIndex:0] floatValue]);