Как определить был ли файл переименован из одного расширения в другой?
Определить, был ли файл переименован - разумеется, невозможно.
Про "действительность" - это другой вопрос. В общем случае её определить невозможно. Любой файл вполне может быть корректным с точки зрения двух и более форматов - например, картинкой и пхп скриптом одновременно.
Так что в каждом конкретном случае надо смотреть отдельно - от чего защищаемся, надо ли нам это, и если надо - то как.
Например, про картинки вопрос был совсем недавно. Если хотим убедиться в отсутствии лишнего кода в картинке - ресайзим её через GD.
Читать первые байты файла.
В случае php можна проверить наличие в файле строки "<?php" или "<?"