Why does synchronization have to suck? (geekery, rant)
The fact that every single device on the planet seems to do that seems to follow from that bad decision, and the fact that every device uses a different set of matching and "cleanup" rules is only too obvious.
Of course this means switching to a GUID scheme is now impossible, because in order to do that you'd need some way of mapping GUIDless entries to GUIDed entries (since most things don't use GUIDs), and you have the same many-to-many relationship all over again.