Мои предложения:
1. Зашифровать файл. Расшифруют, но не сразу, многим лень или не умеют, так что можно выиграть много времени
2. Замаскировать участок кода, проверяющий лицензию под другой скрипт (например сделать вид, что этот код работает с кэшем)
3. Можно вшить код проверки в какую-нибудь популярную библиотеку. К примеру написать код в глубине класса PHPExcel
4. Можно маленькую, но важную часть скрипта перенести на свой сервер. Тогда юзер врядли сможет бесплатно полноценно использовать вашу программу
5. Есть вариант обфусцировать код
Если скомбинировать некоторые варианты, то получится довольно трудная для взлома защита
Я подобную задачу просто решил, зашифровал файл проверяющий ключи в base64 через сервис visavi.net/services/encryption.php. Расшифровать не трудно, но нужно не много подумать. Покупатели были новички в программировании, поэтому ~1.5 года скрипт был в целости и сохранности.
Ключ кстати просто генерировался из домена :D
Для платных программ обязательно надо делать хотя бы минимальный уровень защиты, иначе можно потерять вообще всю прибыль. Чем хитрее защита, тем дольше скрипт будет в сохранности