Aside from the giant mess of revisions, closes, migrations, reopen, reclose and delete that this question is (sorry, 10k Programmers.SE link - though other parts may be visible in the self deleted rejected post, and a wholesale rewrite of another question)... self deleting a post on another site shouldn't reject the migration.
The full order of events for this was:
- Closed (off topic, migrate to SO) on P.SE (included OP's vote)
- Closed (duplicate) on SO
2a. OP edits another question to contain the text
2b. OP deletes closed (dup) migrated post on SO. <-- This rejects the migration - Post unlocked on P.SE
- Question reopened (including OP's vote)
- Question closed again on P.SE
- Question is self deleted on P.SE by OP
Aside from this being a bit more of a mess than the regular migration, the issue is that someone who self deletes a post on the target site that hasn't been closed in a way that rejects the migration (anything other than duplicate) will reject the migration. Or phrased another way "if someone deletes a migrated post that is open or closed as a duplicate, the migration will be rejected."
This is a glitch in the intended functionality of the system. And as seen in this example, it caused more than a little bit of confusion about what is going on for anyone who hasn't actually dealt with migrations and created a rather poor user experience (self inflicted poor experience? maybe - poor experience none the less).
When a question is migrated and rejected before it is closed, this leads to a confusing experience - especially with the question getting what appears to be bounced around.
The bug fix is "simple" - don't reject the migration if the post is deleted before the migration is rejected. If its off topic on the other site, or if it was closed as too broad or primarily opinion - yes, those reject the migration. But not the OP deleting the post before it is closed, or if it is closed as a duplicate. Its there - its not off topic on the site.
Or, as said some time ago (before he had the diamond - that's not an SE official position):
I think if the user deletes their question on the target site, it should also delete the question on the original site as a part of the migration rejection. – animuson♦ May 24 '12 at 18:25
There are other related questions to this that are quite close, though both specifically deal with migrations to their own meta: