As a side note, a while back nickhjort sent me some pics from when we were trying to figure out if we could get the 07-08 clusters to drive cruise control lights.
Looking back though the pics recently I realized that the cluster has a "core" module with the microcontroller on it, which is plugged into a "carrier" board (i.e. the big circuit board with the lights and speedo). The mileage on the cluster end is stored in flash memory within this microcontroller. If the cold boot via battery disconnect doesn't work, It may be possible to move the core over from the old to new cluster. The question is if the microcontroller is programmed generically and it drives whatever is available on the carrier it is plugged into, or if it is programmed specifically for the carrier.
Speed Core.jpg