so I asked a similar question about migration issues a year or so ago and the issue there seemed to be the fact that my pearl and soulsilver were Australian and emerald was american, so I got an american platinum, completed the game and got the national pokedex among all the other required things to get pal park. So both versions of the game are US, my DS reads both the games at the same time with both slots (when I turn on the DS both games are showed and can be played) so I don't see the problem, can anyone help me?
The problem is probably your Emerald. I had the exact same problem for a long time, and no one could answer it. I looked everywhere. I eventually tried migrating from a copy of fire red, and it worked. The Emerald didn't have a dry battery or anything. In fact, the copy of fire red did. So I have no idea what was wrong, but it's probably the same thing that's wrong with yours. Try Trading whatever Pokemon you want to transfer to another GBA game, and then transfer the Pokemon from it.