$eval(..,-N) is certainly a valid suggestion, for the reasons you explained. The workaround I've used whenever I've needed such a thing (which would be a couple of times) was something like this:
//set -u1 %a $eval(echo -a my name is $mnick aka $anick,0) | .timer 1 0 % $+ a
This can be easily made to work like -N too: by adding a ! in $+, it becomes equivalent to $eval(...,-2); with a second ! it's like -3 etc:
//set -u1 %a $eval(echo -a my name is $mnick aka $anick,0) | .timer 1 0 .timer 1 0 .timer 1 0 % $!!+ a

If I worked with /scon instead of /timer I'd use a local variable %a, making it cleaner.

For long time intervals, when a global variable could be an unsafe place to store the command into, one could use a custom identifier:
alias blah return $eval(echo -a my name is $mnick aka $anick,0)
//.timer 1 10 $!blah


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com