They can institute a UDID check when updating to the software file via iTunes or OTA. Additionally, they can put some sort of unique identifier into the beta files downloaded from the dev center so you can only use a file if it was downloaded from the dev center. This would prevent people from downloading beta files from hosting sites and such.
So right now they implement the UDID check only during activation. And that happens only after a restore.
Is that how it used to be done, where they checked during every update?
Wouldn't that slow down things considerably for all users of all iOS versions?
I mean I see developers complaining now that they couldn't get past activation because the servers were busy. Imagine if the servers were queried every single time any user installed an update. I'm sure they could do it but I don't see it being worth the time or hassle.