Hay muchas opciones. algunas sin costo y otras no tan baratas.
Si tu programa vale la pena, puedes invertir en llaves USB o paralelas de Aladdin.
http://www.aladdin.com/
Incluso, programas tan sofisticados como Autocad, aun utilizan serial keys.
Lo mejor apuesta sera, que tuvieses un servidor propio online con un software de registro, y que tu software se registre con tu servidor.
Si vale la pena invertirle en crear mecanismos de anticopia a tu software (serial, seriales de HD, tarjeta red, etc), pero eso auyenta a los crackers wannabe, solo es cuestion de tiempo para que alguien crackee el software.