In iOS 7 the Core Bluetooth API was updated. retrievePeripheralsWithIdentifiers:
directly returns the peripherals you request and there is no callback any more.
Rule of thumb is if you have a CBPeripheral object, then you can reuse it. There is no need to retrieve again. Your question is a little confusing regarding your current way of using the APIs but whenever you're in doubt you can refer to the Core Bluetooth Programming Guide.
There is only one exception: if the Core Bluetooth framework restarts or is power cycled, then the CBPeripheral objects are invalidated. Reuse will result in errors. In this case, new instanced must be obtained.