It's thus no bug but rather by design. Simply dont use a N as the timer name if you're ever going to use that identifier

It's like naming an alias N and using it as a custom identifier:
...
No, it's like using /timer without any timer id, and letting mirc increment the counter.

But the generated timer id is not the same as the timer's position in the $timer() list. And the script called by the timer can't easily get information about its timer with the $timer() identifier (unless it loops through all names with $timer(i) to locate the timer's "N").