Are you talking about a patch, or a standalone? if you are talking about the latter, you could probably do a few little tricks to secure the patch between limits, for instance.
Could use the date object with an if statement to say if>2007then 0 which would close a gate and mean nothing would work.
Could use the who command with the shell external, and record that persons name when the patch opened the first time.and use a similar if statement to ensure it was the same each time.
AS for mac and PC compatable, easy with a standard max patch,as long as you use standardised fonts. if you are talking standalone’s things would get alot harder as the MAc version exports .app and the pc .exe (maybe alot easier soon due to universal binary? who knows?
Finally it either way you’d have to find a PC equivilent to shell to get who was logged on (i believe there is one, though i forget what it is called)
Just a few suggestions, hope this gives you something to think about at least.