Why you need to use multiple "WHEN ... THEN (INSERT ... , (DELETE ... ) )"?
(Syntax of "WHEN ... THEN (INSERT ... , (DELETE ... ) )" was wrong.)
It seems both of INSERT/DELETE in two WHEN clause are same, by briefly looking your code.
How about the following code?
Code:
WHEN (NEW_INSERT.GROUP = 'DAD'
OR
NEW_INSERT.GROUP = 'ADD' AND NEW_INSERT.S_SHORT=0)
BEGIN
INSERT ...;
DELETE ...;
END