I wanted to jump in because I was running into this with two apps. I had thought the default impressions from the simulator would be enough for the "five sample" test ads that they talk about. And, looking at the developer portal, it showed that we had thousands of requests. It wasn't until I read above, that the actual "impressions" might be what is required.
So, for the first app, I hooked a test device up to Xcode and ran (I had set the hash for that device). We have a refresh of 60 seconds. For each valid impression, it writes "[FBAudienceNetworkLog/FBAdUtility:396] Impression is logged (displayed for test ads only)" to the log.
Once I had five or six of those messages, I stopped running it. Less than 2 minutes later, I got an alert saying that the app was approved.
To make sure it wasn't just a fluke, I did the same with the other app. Again, less than a minute or two later, I got another alert saying it was approved.
Note that the banking info wasn't set for one of those apps, but I was able to set it after it was approved.
Hope this helps....
Thanks for your input. All this while, I am using the actual device for testing but still not getting any impression (just test ads).