Здравствуйте.
Переменная Work_and_alarm состоит из набора отдельных битов, логическая функция GetBit возвращает значение отдельно бита из переменной по его номеру.
Всё множество скриптов проекта можно заменить на один универсальный, параметром которого будет свойство Tag объекта, которое должно быть номером бита конкретного объекта.
Далее выбрать все объекты, к которым применяется скрипт, и связать его с событием OnDataChange. А вот свойство Tag прийдется править для каждой группы (в проекте по два объекта) индивидуально.
begin
if Sender is TM_Object then // проверяем, что Sender это объект
with Sender as TM_Object do // приводим Sender к типу "TM_Object"
Visible := GetBit(AsInt, Tag); // показать/скрыть объект
end.
Проект с исправлениями во вложении.