Hello,
In response to your problem about scrolled window :
1) you should put an iemguts/canvasreceive object in your main patch
and wait for the first motion event it delivers after you received a
dnd-dropped message (assuming you will move a bit the mouse after
dropping down). This way, you get the correct coordinates in the patch,
may the window be scrolled or not.
2) you should put a bang gui-object in your gop abstraction. Then,
receiving global dnd-dropped msg will "arm" it, and you'll have to click
to the gui-bang to confirm the operation. It's not pure "drag and drop"
but it is a vanilia approach, and you don't have to calculate about gop
coords and margins. Just wait for a click on a bang button.