Ответ справочной службы русского языка    Топонимы славянского происхождения на _-ов(о), -ев(о), -ин(о), -ын(о)_ по нормам русской грамматики могут и должны склоняться. Они изначально были склоняемыми (вспомните у Лермонтова: _Недаром помнит вся Россия про день Бородина!_). Первоначально несклоняемые формы употреблялись лишь в речи географов и военных, потому что очень важно было давать названия в исходной форме, чтобы не было путаницы: _Киров_ и _Кирово, Пушкин_ и _Пушкино_ и т. п. Но постепенно из устной речи несклоняемые формы проникли в письменную речь. Так, в «Грамматике современного русского литературного языка» 1970 года было указано, что в современном русском языке обнаруживают тенденцию пополнять группу слов нулевого склонения топонимы с финалями _-ов(о), -ёво, -ев(о), -ин(о)_. Другими словами, несклоняемость тогда только начинала распространяться.    Таким образом, несклоняемые варианты стали настолько широко распространенными, что изначально единственно правильный склоняемый вариант многими теперь воспринимается как ошибочный! Если когда-то Анна Ахматова очень возмущалась, когда при ней говорили _мы живем в Кратово_ вместо _мы живем в Кратове_, то теперь употребление _в Строгине, в Люблине_ многими совершенно напрасно воспринимается как порча языка. Между тем такое произношение и написание отвечает грамматической норме.http://www.gramota.ru/spravka/buro/search_answer/?s=%F1%EA%EB%EE%ED%E5%ED%E8%E5+%E3%E5%EE%E3%F0%E0%F4%E8%F7%E5%F1%EA%E8%F5+%ED%E0%E7%E2%E0%ED%E8%E9+Но в данном случае речь идет исключительно о русских названиях типа Люблино и Лефортово. Осло тут не при чём. А вот при добавлении слов город, село, деревня населенные пункты , заканчивающиеся на о, перестают склоняться. Например, живем в Алмазове, но живем в селе Алмазово.