Sorry for not replying earlier.
For your first question:
Yes, the distinction between child and parent DragDrop destination controls can be made. I implemented a proof-of-concept drag drop for your case. The identification of the controls is through a property that I added: DragGroup. Of course, you may implement whatever logic you need in your handlers that will recognize whether two controls can exchange items. The items do not need to be of one and the same kind (neither the collections) - just in the DropInfo handler, make sure they are converted/transformed accordingly.
A thing to remember is that if not handled a routed event will appear both at the child and the parent containers. This is true both for query and info events.
I have attached the sample.
For your second question:
In the example for the DraggableListBox we have used a ContentTemplate, but the DragCue can be anything - including something like a UserControl which will contain the logic for the error handling (the image will be bound to a property of the UserControl and you will have the instance of the Image. Otherwise ContentTemplates do not support signing up for events.
the Telerik team
Check out Telerik Trainer
, the state of the art learning tool for Telerik products.