En primer lugar gracias a los dos por vuestra ayuda. Os comento algunas cosas referentes al tema:
Sobre el comentario de ContraVeneno, decir que el componente que nos has enseñado tiene buena pinta, pero para poderlo integrar en un programa (y reutilizar su código) habría que pagar, ¿cierto?. La segunda opción propuesta por 'Seoane', es muy buena. Quizá se podría mejorar si se incluye en la clave generada el ID del disco duro u otra información del sistema para que sólo pueda ejecutarse en una misma máquina (incluso salve una clonación del disco)
En este hilo hablan sobre cómo obtener el ID del disco duro.
Seguiré pensando en el tema, gracias por vuestra ayuda.