Apple is going to test using the latest hardware and software. Their statement that they used an iPad Air 2 backs this up. However if you test it on an iPad Air with the latest software it should be the same.
The simulator mostly simulates screen resolution and general device type differences. Like how an iPad and iPhone have slightly different ways that they handle certain UI types. There is no iPad Air 2 specifically in the Simulator because in those ways it is exactly the same as an iPad Air 1. So it only has an iPad Air category. The simulator does not simulate the differences in processor speeds or even the differences between an A7 and A8. For the simulator your code is compiled for the mac processor.
Also, you can not test In App Purchases in the simulator, only on devices. So it wouldn't help you even if there was one there.
If your handling of IAP's works differently between on your testing on a physical iPad Air (1) and their testing of it on a physical iPad Air 2, most likely your testing will have the same results even if you went out and purchased a new iPad Air 2. So that's not a solution either.
I would try testing your app by compiling it for Release instead of for Debug. These are different and I've seen bugs only happen on the released version. I try to remember to always do this once before submitting an app. To change this go to the top left where is shows your app name > iOS Device
and right click there and hit Edit Scheme
.
Change the Build Configuration from Debug to Release for Run. Just remember to set it back after this test. Because for most of testing you want it set to Debug.
The only other thing you have to check is that you're still hitting the Sandbox instead of the real apple IAP server. For me this is temporarily changing the following:
#ifndef NDEBUG
#define kReceiptValidationURL @"https://sandbox.itunes.apple.com/verifyReceipt"
#else
#define kReceiptValidationURL @"https://sandbox.itunes.apple.com/verifyReceipt"
//#define kReceiptValidationURL @"https://buy.itunes.apple.com/verifyReceipt"
#endif
Again you REALLY want to make sure you set this back before submission.
When you test like this my guess is that that it will behave the same as the Apple Review team is saying. It will dismiss the box like it's doing for them. And then you can start to work on figuring out why.
Also as a side note I can tell you that I'm having this same problem under iOS8.1.x. But my app was approved under 8.0 and my IAP worked fine then. But now under iOS8.1 IAP's no longer work. Once I find a solution I'll post it here. Please do the same if you find it. Thanks!