Очень странно, но сейчас код из моего стартового поста заработал.. вчера я пофиксил его заменой строчки
List locs = await Locator.GetCitiesAsync(search);
на
foreach (Location loc in await Locator.GetCitiesAsync(search))
...
и все заработало. Видимо вся суть была к привязке Taskа к какой-либо локальной переменной. try/catch'ами оборачивал все и вся, но ничего не ловилось, а просто падало.. Эмулятор перезапускать не пробовал, может дело где то в глубинах системы было..