Seems the best way to remedy this situation is to load the products when the app launches and reload the products every time the app becomes active. Implementing the following method in the app delegate takes care of the problem:
- (void) applicationWillEnterForeground:(UIApplication *)application
{
[self loadProducts];
}
- (void) loadProducts
{
self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects: MyProduct1, MyProduct2 nil]];
self.productsRequest.delegate = self;
[self.productsRequest start];
}