вот давно этим пользуюсь и рекомендую другим
В этом примере с количеством запуск:

Код:
zapusk = 7; // число запусков
var my_so:SharedObject = SharedObject.getLocal("RavenCo");
if (my_so.data.avar == undefined) { //если ничего не задано
my_so.data.avar = zapusk; //прикрепляем количество запусков (zapusk =7)
my_so.data.bvar = my_so.data.avar-1; //минус 1
} else { //если имеется значение
my_so.data.avar = my_so.data.bvar;
my_so.data.bvar = my_so.data.bvar-1; //минус 1}
for (var f in my_so.data) {
trace(f+": "+my_so.data[f]);}
if ( my_so.data.avar<=0) { //
trace("Expired!!!");}
myvar= "Осталось "+my_so.data.avar + " запусков";
в код можно добавить и время, всмысле сколько дней осталось DayX.
З.Ы. конечно это самая простая защита что Flash умеет, но клиентов пугает и они платят ровно после DayX. иногда сразу...
