How to  redirect the user to a  page and show a message on the admin overlay (using drupal_set_message and drupal_goto)
I don't think this is possible with the current message system, it would require some crazy workaround do make it work anyways.

The problem is that when you use drupal_set_message(), the message is stored in the session variable and displayed whenever possible. When you redirect to a page with an overlay two things happens.


The main page is rendered and displayed.
The overlay page is rendered and displayed (with an iframe).


This means that whatever message you set, would always be displayed on the main page.

What you could do, is when the messages has been extracted to set them again and remove them. This could happen in your theme somewhere. The problem is that it is probably very hard to determine when you should do this, as you effectively would hide all messages if you always did this. Another side effect would be that you would constantly get more and more messages, possibly leading to a fatal memory error at worse.