I wanted to let you know that I am trying to find someone to take a look at this and offer suggestions.
One of the other devs had a look at your code and had a couple of comments.
First is that the D8ListItem you're getting is actually another layer. You need to go one level deeper, or do a search using a recursive function.
Secondly, is that the following line is throwing an error that we can't troubleshoot without spending a lot of time working on.
m_pAttributeAgent.Prepare(targetItem as minerFramework.Miner.Interop.IMMProposedObject, true);
He suggests that he suspects "the issue is that the MMAttributeAgent is expecting the arrtibute editor to be the root node in the d8tree, but it's finding the feature tab top level which doesn't support the interface to prepare CUs. I think he needs to copy the proposed object to the targets tab and prepare it from there."
If you can't get your code working based on that, let's get GIS Support involved so we can officially dedicate some time to figuring out what is going on.