Each phone has a hardware ID. The Dev Alpha C is 8D00270A. A few other examples are the STL100-3 is 8500240A, the STL100-4 is 8400240A and so on.
Originally Posted by JPushkarH
When your phone checks for an update it sends its hardware ID and carrier info to check for the update. Say Rogers in Canada is 302/720 for carrier info. So a standard request for a STL100-3 might be "302/720/8500240A" (vastly simplified, but you get the point)
If you had a Dev Alpha C, the same request would look like "302/720/8D00270A" which is a different request.
Each carrier has to approve updates for each phone, but they only approve what they sell and have tested. Another Rogers example - checking for an update for the STL100-3 they approve 10.2.1.2141, but checking for a STL100-2 you get a 'no updates available'. Rogers sells the STL100-3 so that's what they've approved the update for.
Basically since no carrier sells Dev Alpha Cs none will approve an OTA update for the device.