Vincular el keycode de la licencia a un S/N de serie es lo más normal del mundo en la industria del software, lo que pasa que el fabricante debe proporcionar mecanismos de desvincular contra ese serial dejando ese sin servicio y asociarlo a un nuevo serial.
Esto es lo que hago yo con mi software como protección anticopy, y es lo más habitual en la industria, además de sencillo de implementar y complicado de piratear.