Либо в системе прописано то, что надо -- либо не прописано то, что надо.
Либо стандартные системные функции для работы со временем работают правильно -- либо не работают правильно.
Никакой особенной логики для Российских часовых поясов -- в программе нет, она просто не нужна.
Про Time Zone Fixer мне известно, что он не обновляет какой-то то там файл, который содержит какие-то там данные (подробней не смогу).
На своих телефонах выбрал часовой пояс Саудовской Аравии (там тоже +0300, как и в Москве), никаких проблем нет.
Так что есть два варианта:
-- Искать тот самый "какой-то" файл, которые не обновляет Time Zone Fixer. Кажется, он называется icu51dt.dat.
-- Или просто найти часовой пояс другого города / государства, который уже есть в системе, и совпадает с Вашим.