Трудность состоит в том, что список героев создаётся прямо в стеке и всё оттуда берётся вместе с прочим. Помещалось там только 16 (два класса на город) двордов. Я уплотнил структуру списка до байтов, так что теперь можно приписать к одному городу до 64 героев, и все они в списке будут.
Объёмный из-за того, что я сокращал содовский код, чтобы втиснуть правки. Писать длл было неохота.
Исходник без комментариев: