It would be expected that you will encrypt your extension files and freeze it’s modules so no tampering could occur (or freeze those objects were tampering could cause issues.)
Is this is writing anywhere? I see no problem with graying out buttons and changing their tooltip to “Trial Expired”.
Well, in a way it’s the end user who has let the trial expire. You could hide the toolbars but this may leave empty space in the docking bars. There is no way exposed to the API to delete submenus or menu items.
I agree. I think graying & disabling with a change to the tooltip is best.
But some extensions take the expired command click opportunity to open a purchase web dialog.