Если Вы взяли за основу пример с геокодированием, то балун открывать стоит после завершения процесса геокодирования и добавления результата геокодирования на карту:
YMaps.Events.observe(geocoder, geocoder.Events.Load, function () { if (this.length()) { geoResult = this.get(0); map.addOverlay(geoResult); map.setBounds(geoResult.getBounds()); geoResult.openBalloon(); // Открываем балун }else { alert("Ничего не найдено") } });