Здравствуйте.
Очищать нужно только объекты (экземпляры классов, созданные вызовом .Create). Обычные числовые/строковые переменные и переменные-массивы вручную очищать не нужно. Т.е. код финализации в Вашем случае можно изменить так:
finalization
FreeAndNil(aList); // удаляем список
SetLength(mArray, 0); // устанавливаем длину массива в 0 освобождая память (не обязательно это делать, но так память освободится быстрее)
Если элементы списка (alarm_1, alarm_2 и т.д.) это объекты, которые Вы содаёте в других скриптах, то их нужно обязательно удалить перед удалением списка.
Если возникнут сложности, то вышлите текущую версию проекта на
support@simple-scada.com, мы проверим код и опишем правильный вариант.