Ну я думаю так ...
Бонально было записывать данные в реестр, хотя идея интересная, можно писать в файл, но каждый раз менять его название...
Моя идея такая...
Смотришь скока занимает твоя прога в байтах и дописываешь инфу о днях непосредственно в конец файла ... притом желательно сделать так, чтобы инфа шифровалась, и размер файла не менялся

... т.е. допустим на десять дней тебе вполне хватит 1 символа (а лучше дату записать начальную и конечную) ... если ты изначально его поставишь то размер проги меняться не будет, разве что только его последний символ.
Прога запускается, читает себя в бинарном формате, и если допустим дата последнего запуска, часы, минуты и секунды (тут уже не один символ как ты понимаешь) будут одинаковы (то программа просто сама себя убивает)
Веселый вариант: (программа перезаписывается ...)
Делается легко: берем программу компилируем, измеряем размер EXE-шника, теперь компилируем программу, которую пользователь получит по истечению "срока годности", соединяем их вместе (просто бинарно пристыковывая) и когда "срок годности" истекает, или фиксируется "повтор времени запуска", то просто вырезаем байты первой программы и оставляя тольк вторую

... тогда .. прикольно будит

всем
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)