To accomplish this with an automation script I would do an attribute based launch point on WORKORDER.STATUS. This would fire only on status changes of the work order. In the script you could then check to see if the status is WMATL. If the status is correct then you could pull a mboset of the service requests that you need to change status on, then change the statuses.
If you are okay with some delay an escalation is a decent option too. They tend to be easier to write and therefore more approachable. You could do an escalation on SRs, every 15 mins or so, looking for related work orders that are in the WMATL status. If you go this route I would check to ensure the SR status is not "OUT OF USE' and allow the escalation to repeat on records. This would help handle the case where the WO goes to WMATL more than once and the SR needs to go back to "OUT OF USE".