@evan completely agree, only thing that gets tricky is how to deal with a _grandchild_ reply that you want to remove without removing that _child_ and the other grandchildren.
let's say B replies to A, and C replies to B (let's say all separate servers) - the only way for A to remove a C is to remove B, being the only replies collection it controls.
only solution I see is materializing the entire tree in A's replies collection (using AP's rich object model) which most implementations don't do