я канеш не гуру но мне кажется должен быть исчо один canResearch, котрый реально вызывается здесь
<div class='quotetop'>Цитата</div>
if (canResearch((TechTypes)iI))
{
bTechFound = true;
break;
}
[/b]
т.е. вызывается canResearch который в качестве аргумента получает только TechTypes!

там же в определении указан canResearch с двумя аргументами TechTypes и bool
<div class='quotetop'>Цитата</div>
bool CvPlayer::canResearch(TechTypes eTech, bool bTrade) const[/b]
я думаю происходит перегрузка функций и вызывается немножко другая canResearch - с одним аргументом.