It is not quite clear when exactly the iOS7 app receipt is generated. It probably is generated when the app is downloaded or a purchase is made. In the case of an app update I'm not sure what happens.
To be sure, you should implement SKReceiptRefreshRequest
anyway. This request returns (or creates if not available) the app receipt. I haven't seen anywhere stated that it is only for sandbox.
Revoked and Expired are only used in Volume Purchase Plans receipts I believe.