The problem with the GUID is that it will be different if the application is re-installed, which will limit it's usefulness. This makes the lazy in us just return the next available unique thing, which is probably the IMEI, or the IMSI.
By hashing the IMEI (and other IDs) with an application ID (maybe some ID of the application on the "market"), the application can be sure it is on the same user phone, but each application will get a different ID.
Is there an unique application ID on the "application market"? One that doesn't change if a new version of the same program is released?