This is a longstanding problem. Use a Trigger as a workaround (do the report first, then the actual Clone/Delete) to bundle it all into a single keystroke.
Say, I have Delete with shortcut “del”; report action triggering on keystrokes “repdel”. Trigger action would then bundle them. But what key shortcut should be assigned to Trigger action? C-D? In the menu I would then have Trigger Action with C-D and Delete with no shortcut–not really what I am for.
The Trigger gets the keystroke you want to expose to the user (e.g. Ctrl-D), and the menu text “Delete”.
The Trigger performs 2 keystrokes one after the other. The first is something bound to the Report Action trait. This is what makes the piece tell its current location–because you haven’t deleted it yet. The second keystroke does the actual deletion. Use a named keystroke here or something the user is not likely to do on their keyboard, and crucially, leave the Command Name (that is, the menu text) blank.
I had this problem a long, long time ago, so I’m my memory is vague, but I remember getting different behavior depending on how I ordered the traits in the trait list. You might try putting the reports all before or after the delete. Mine are always last in the list, and I don’t remember having problems. But I may be just a crazy old fool.
Traits are executed from the bottom, going to the top up.
If there was a prototype in the middle of the trait list somewhere, once the execution hits it it will perform the traits in the prototype the same way and then return and continue with the current trait list where it left off.
There are a couple of exceptions to this (namely Triggers) but otherwise this is the general gist of it
This makes nesting of prototypes and traits critical for successful complex feature execution if you want to do some really hair raising stuff!