I think it could be an improvement over completely open direct communication, but I don't think it would be as good as hierarchical messaging.
Oh, I'm not expecting it to be better than hierarchal messaging. But even you are tempted to sometimes break this pattern for your "Data" messages. I'm trying to think of a way to break this pattern in a more restricted way than just passing the bare message queue between multiple actors. It also needs to be just as simple and easy as passing the queue, so that it will be used instead (AQ and David -- is Dmitry's solution easy?).
Straightforward but tedious is how I would describe it. I've only built such a system once, and not in LabVIEW. It's an extra layer that has to wrap other parts of your existing app. Totally scriptable, but although writing the scripting code only needs to be done once, it's a total pain... having said that, there is the automatic class wrapper VIs that jgcode posted to LAVA not too long ago. I haven't tried them out, but I suggest giving them a glance if you decide to do this.