Well I just gave a city to an alliance member as I am leaving soon, and the result was that the 6 high level 100-loyalty heros I had inside were all destroyed, but the one captive hero I had just taken from a low level valley was still there, and the only one still there. Now, that captive was also the one at the bottom of the list, and I've never gotten more than 1 hero before when capturing a player city, so I don't know if that's it or what.