This is working as expected IMHO.
As I understand it, RT first checks all scrip conditions, then processes them.
Once all the applicable ‘conditions’ have been processed, it then processes the ‘action commit code’. The exception to this behaviour is when a scrip is configured to be a ‘batch’. Batch scrips are executed after normal scrips have been completely executed.
If your ‘NotifyAdminCC Scrip’ is the default one, you’ll need to disable it and make one dedicated for the queue (and make a default one for any other queues). When you create the ‘NotifyAdminCC Scrip’ for your queue that is renaming the subject, make that a batch scrip.
While this is a very simplified solution, hopefully it should work.
The proper solution would be to have multiple Notify scrips with Custom Condition code; ones that are actioned on normal communications when the subject has not changed, and ones that are actioned when the subject has changed. I’ve done similar before, however it gets complicated - too complicated to explain here.