It's actually a bug in alarm notifier - it does not update alarm list correctly.
For knowing that node was offline for some time and then go back online, you can do the following:
Instead of terminating node down alarm when SYS_NODE_UP event received, generate new alarm with NORMAL priority which will replace "Node down" alarm. Than you will know that node was down for some time. Then you have 3 options to terminate those "Node up" alarms:
Terminate them manually;
Create a script that will use nxalarm command line utility to periodically read active alarms and terminate "Node up" alarms which are older than some time period;
Set alarm timeout for "Node up" alarms and terminate them when alarm timeout event comes.
Best regards,
Victor