Ich bin mittlerweile von der Hardware ID abgekommen, da die Vergangenheit gezeigt hat, dass es keinen vernünftigen Delphi-Code zur Generierung einer eindeutigen, konsistenten und benutzerfreundlichen ID gibt.
Ich hatte regelmäßig neue IDs obwohl nur eine kleine Hardwarekompo ausgetauscht wurde. Letztlich artet das nur in Arbeit aus.
Ich bin momentan dazu übergegangen, die ID an die User-SID zu binden. Die ändert sich wenigstens nur nach dem Formatieren - ist allerdings nicht an die Hardware gebunden.
Du musst also für dich einen Kompromiss zwischen Aufwand, Kompatibilität und Sicherheit finden ...