Хотя бы самый простой способ -
сделать в начале скрипта проверку по дате, только желательно дату брать не системную, которую можно перевести назад, а из Интернета, правильную.
Мне кажется, можно сделать очень просто. Нужно, чтобы программа выходила в интернет не каждый раз при запуске, а раз в месяц. Причем выходит в фоновом режиме и при наличии интернета. Имхо, на рабочей станции (т.е. у пользователя, который будет платить за программу, а не 15-летнего копателя в утилитах и краках) системное время никто менять не будет.
Добавлено:
Сообщение автоматически объединено:
Чтобы пользователь не отменил выход в интернет, можно написать сообщение
"Вышла новая версия утилиты. Исправлена куча багов, добавлена поддержка кучи функций. Скачать с оф.сайта бесплатно?". Пользователь кликнет "да", а вы тут же сверяете системное время и блокируете ему скрипт Можно блокировать не сразу (а то обидется может), а, скажем, через неделю после сверки времени.