Pues no sé por qué será

pero réstale uno:
$calc($asctime(%time,h) - 1)
Si vas a usar más de un tema tendrás que guardar los nombres en un array:
on *:START: {
unset %evento_time
unset %evento_name
}
on 10:TEXT:*!ntema:#:{
set %evento_time $addtok(%evento_time, $ctime, 59)
set %evento_name $addtok(%evento_name, $2-, 59)
msg $chan Tema " $+ $2- $+ " añadido
}
on *:TEXT:!tema*:#: {
if (!($2 > 0)) || ($2 > $numtok(%evento_time, 59)) {
;si no se ha puesto número de tema o si el número de tema es mayor que la cantidad de temas que hay, se coge el último tema
$2 = $numtok(%evento_time, 59)
}
var %time = $calc($ctime - $gettok(%evento_time, $2, 59))
if (%time > 3600) msg $chan Tema $2 $+ : %evento_name $+ , desde hace $calc($asctime(%time,h) - 1) hora(s) y $asctime(%time,n) minutos
elseif (%time > 60) msg $chan Tema $2 $+ : %evento_name $+ , desde hace $asctime(%time,n) minutos
else msg $chan Tema $2 $+ : %evento_name $+ , desde hace $asctime(%time,s) segundos
}
Ejemplo de uso:
Añadir:
!ntema I like de boom boom
!ntema Mi tema 2
Mostrar:
!tema 1
!tema 2
!tema
Si no pones número en !tema se muestra el actual, si pones número se mostrara ese tema
Pruébalo, a ver si te gusta