This might be a dumb question but how does a prisoner refuse to leave? Can't they just kick him out?
[0]: http://www.au.af.mil/au/awc/awcgate/readings/code_of_conduct...
Of course there are way more variable involved, but I think his refusal was mostly on the basis of maintaining solidarity with the other POWs. In that situation, I could imagine that one of the few things that would keep me going was knowing that the thing i was fighting for back home wasn't just a delusion.
If the other POWs saw Mccain released for on political reasons, then who is to say that the POWs loyalty to their nation wouldn't have been compromised?