You answered your own question.
Your DS seems to be a bit weird...it always works for me.
Do not have a GBA game in your DS when you are going to play your DS games.
You can still play Emerald, just don't have a DS game inserted when you play. But, that means you will not be able to migrate anymore.