Виктор, а вы пишите всё как серверные консоли, а программу держите у себя. Доступ - по методу "one time pad", т.е. выдаёте кодовую книжечку, там уникальный ключ на каждый сеанс (день, период,...) работы. Кончилась книжечка - даёте новую, и т.д. Ну неуклюже немного, зато надёжно, можно сказать даже очень.
Только вот стоит ли оно всего этого кишкомотательства? Знаю, знаю, что вы скажете - это я так, для поддержания разговора
Чтобы не подумали что я глумлюсь над вашими бедами, скажу, что по этому методу работают некоторые системы разработки для микроэлектроники. Только популярность таких решений среди пользователей - на уровне плинтуса. Но всё же, кто-то попробовал. Микрософт тоже бредит мечтами об аренде ПО. Так что идея жива
Так что вашим пунктам:
1. локальный серверок лицензий отматывает отпущенные коды доступа, пользователи ничего не подозревают о его существовании.
2. придётся оплачивать траффик, и скорее всего вам в первую очередь. Но это не беда, правда?
3. меньше почти некуда - весь процесс можно полностью автоматизировать до уровня вэб-магазина.
4. как только вам не восхочется, так и сделаете - всё ведь целиком за вашим заборчиком.
5. такая система доступа фактически непробиваема - если коды у клиента спёрли, то это его потери. В крайем случае можно позвонить (или самому черезь сеть) и их аннулировать, так что никто не пострадает. Ведь ценную программу на десять минут никто не станет тырить.
Можно на сервере держать не всю программу, а ключевую её часть, в которой и заключены ваши драгоценные достижения, секреты и т.п. Тут много вариантов.