In my situation I always do a "fake" drop. I just want to connect 2 grid records finally leading to a certain Ajax call. Therefor I want a fake drop that always fails, but comes later with a messagebox and the final Ajax call. But I don't want the animation back to its target when the messagebox appears in a modal screen.

In a normal situation you don't want to do this (fake drops). Otherwise why would you call it drag and drop?

I use a pluginId to find the plugin in the "beforedrop" event. This is a documented property.

The trick in the whole thing is:

Code:
data.view.getPlugin('ProduktionGridDD').dragZone.getProxy().animRepair = false;
Depending on the situation you could also set it to true.

viewConfig from the grid that is draggable:

Code:
viewConfig: {
    plugins: {
        ptype: 'gridviewdragdrop',
        enableDrag: true,
        dragGroup: 'ProduktionGrid',  // I can drag to this group
        dropGroup: 'ProduktionGrid',  // I can drop in this group
        pluginId: 'ProduktionGridDD'
   }
},
this is happening in the drop grid:

Code:
viewConfig: {
   plugins: {
       ptype: 'gridviewdragdrop',
       enableDrag: false, // I can't drag from here
       dropGroup: 'ProduktionGrid', // I can drop from this group
   },
   listeners: {
       scope: me,
       beforedrop: function (node, data, overModel, dropPosition, dropHandlers, eOpts) {
            // this is making the animation go away
           data.view.getPlugin('ProduktionGridDD').dragZone.getProxy().animRepair = false;

           if (overModel === null) return false;
                var grid = data.view.up('gridpanel');
                if (grid._gridModus === 'T') {
                   me.fireEvent('executefakedrop', grid, node, data, overModel);
                   return false; // drop niemals ausfhren !!!
                }
           }
   }
   ...
}