So, if I'm running a trunk node, then I can send one transaction to one of my branches, and a double-spend transaction to my parent node and all the other branches? Since messages are distributed in a hierarchy and I can choose to send a message to my branches "without any node receiving the same message twice", those nodes won't realize that they have accepted a double spend?
No, they will see it. It's not a strict hierarchy. Messages can be routed around you. It won't matter which peers you send you're transaction messages to first, both of your messages will reach most of the nodes around you and they will see your double spend- without any node receiving the same message twice.
If the recipient is in the branch that gets my first message, then I'll know because I'll receive their POA,...
If the recipient in your branch received a POA then your double spend failed. The other messages was rejected and the other recipient got a rejection.
...but I won't relay the POA to any other branches (or my parent node). Instead, I'll broadcast to those other branches my own POA for the double-spend transaction.
You aren't the recipient's only peer. And you can't auto-gen a POA out of nothing, nobody would accept it.
This is not a trustless system.
Exactly. Every node must trust that all the peers above them in the tree have not attempted to isolate them from the rest of the network.
If either of you had asked me in advance if the messaging hierarchy gave elevated peers the power to isolate nodes I could have cleared up a lot of false conclusions before you started jumping to them.