The fix about the getRegistration function is already applied and this is how it is going to work from now on - getRegistration will result in a "not found'" error if the device is not registered. You can safely rely on this functionality.
About the device ID:
Dimitar explained below what we use to get unique ID of the device. However, how "unique" this actually is depends on the Cordova version you use. Here is some more information on the topic:
You can plug in your own implementation of _getDeviceId if you consider it to be more appropriate for your scenario. We are using this device ID to uniquely identify the device's push registration in the server. With the current implementation the device ID might change during development, based on the Cordova version you use. This means that the device will lose its registration data in Everlive. Please note, that this only happens during development and only with iOS devices. On a real installation from the AppStore the device ID will stay the same unless the app is reinstalled, so no data will be lost.
Let us know if you have other questions.
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.