Rather than using a business rule for this, I would advise using BPL to loop through the MSH segments, and for each one, call a Data Transformation to create a new message.
You may want to try posting this (or future questions) on the Developer Community (
https://community.intersystems.com/), as it will reach a wider audience of InterSystems developers and users.
Hope this helps!
Steve