См. «Письмовник».
Вы правы. Верно: в городе Костомукше (как в городе Москве). Это склоняемое название.
В «Справочнике издателя и автора» А. Э. Мильчина, Л. К. Чельцовой указано, что «сокращение г. (город), как и полное слово, рекомендуется употреблять ограниченно, главным образом перед названиями городов, образованными от фамилий (г. Киров)». Однако на практике эта рекомендация почти никогда не соблюдается: сокращение г. и полное слово город употребляют перед названиями всех городов (в т. ч. оканчивающимися на -град, -город), это характерная черта канцелярской речи.
Правильно: мэр города Магнитогорска (см. Горячую десятку вопросов).
Правильно: мэр города Иркутска.
Верно: города Самары.
Верно: города Санкт-Петербурга. Подробнее см. в "Письмовнике" на нашем портале.