We are seeing this. If we download the app from the AppStore, we're only recently seeing different IdentifierForVendor values, but if I take those same IPA files and add it to iTunes, the values are the same. If we get our most recent versions of the apps from iTunes Connect, the values are the same. It only seems broken if we get the apps from the AppStore. Our submitted apps were built using Xamarin iOS 7.0.5.2 and XCode 5.0.2.
The documentation says this about identifierForVendor: "Normally, the vendor is determined by data provided by the App Store. If the app was not installed from the app store..." It then goes on to explain how identifierForVendor works for non-AppStore deploys, but not how it works when it is downloaded from the AppStore.
From this question on StackOverflow, I suspect that the AppStore version of the IdentifierForVendor is now based on the provisioning profile. We are using unique provisioning profiles on each app rather than using a wild card provisioning profile. Until I found this thread, I was thinking that if I resubmit our apps to the store using a wild card provisioning profile and the latest XCode it would fix this, but now I'm doubtful.
Has anyone come across a workaround? Is there any visibility on the bugs already submitted to Apple?