I've heard about this problem. It's basically to stop pirated copies from selling, or people ROMing them (though ROMs have a patch to sort this problem out). So here are a few things that might help:
- Restart the game. This can solve the no Exp. gain issue. Even if it doesn't, you won't be losing much since all your Pokemon are at L5 only.
- What region is the game and is it the same as your DS? Sometimes it's the DS region lock that affects things. If you're using a DS Lite, it should have no region lock. I think regular DS has no region lock as well, and only DSi and 3DS have the locks.
- Is your game legit and/or from a reputable shop? You might have been sold a pirated copy w/o your knowledge
- Take it back to the shop. Even if they can't refund, try and get some help from them. It's unlikely that they'll know what to do, but it's still something to try. Also, try to swap your copy of Black 2 for a new one. No refund doesn't mean no exchange.
By the way, if it's #2, then there's no way to solve that apart from getting a new DS or a DS Lite, or copy of Black 2 that's the same region as your DS.