Смена расширения - не стандартная задача, и она не должна решаться просто переименованием файла пользователем. При обычном использовании компа, у пользователя вообще не должна возникнуть необходимость менять расширение.
Правильно делать так: Открыть этот файл в связанном с ним приложении, и в этом приложении сохранить файл в другом формате, который будет соответствовать нужному расширению. Например, когда нужно картинку с расширением jpg поменять на bmp, понятно что нельзя просто поменять расширение.
Если же задача совсем нестандартная, и пользователь тоже не обычный, например он хочет поменять расширение cmd на bat, то тут тоже никаких проблем нет, потому что такой пользователь и так знает как это сделать.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший