Are my mons unable to return, or are people stuffing them with food?
There were these were 2 gyms I did not receive badges from, and I've placed 1 mon in each. I have not received any hunger messages and it's been 1 full day since they were there. Seeing as a lot of people from my team don't know when to stop feeding theirs at the park, it might be that they're overfeeding. Their mons at nearby gyms have 1 day of control so far, and yet they still top them off.
Answers
The gym badge at least shows your mon's heart state. But since I did not receive one from either of those 2, but received 3 from park gyms and could watch my Ninetales, it seems there's no way to know what's happening to my Kingler and Typhlo. Though would still be good if they would auto-return after about 2 days or so. There's no reason for them to stick around there since there are no more rewards and their CP is depleted.
Mons don't get out of gyms because of motivation loss.
They can reach 0 motivation for starving, but a opposing team player still needs to fight him to get him out of the gym. So maybe your mons have reach 0 motivation but nobody took the gym yet.
Also, keep in mind that it takes around 4 days for a below 3k mon to starve, and 10 hour for an above 3k cp mon.