I left my dragonite at a gym last week and it still hasn't been returned. Is it a glitch? It is a high level in a small town, but I figured it would be overthrown by now. Any suggestions?
A few things I would check:
In your list of Pokemon is your Dragonite's health still full?
When you visit the gym do you physically see your Dragonite pop up on the screen?
On the Store screen are you still able to collect coins/star dust from your Dragonite's presence in this gym?
If you're still able to do all of these things, then chances are he just hasn't been overthrown yet. Congrats on having a solid Pokemon!