Hi Gareth,
That's a very interesting use case, and I can think of two ways to overcome the problem:
1. Use a numeric variable, and count the number of recipients to determine whether you want to create the request or not (this is a short explanation since your message shows deep knowledge), but I would happy to elaborate more if needed.
2. The other option (which I haven't tested), is to populate the MsgID as ExternalID of the request. The reason is the ExternalID (as SYSID) is unique across system, and therefore Clarizen will inherently block the creation of another object with the same ExternalID. I am not sure if the End User will get and error or not. You might want to combine that with FindObject to avoid end user error message problem.
Please let me know whether one of those options might work.
Good luck!
Tamir