If you are trying to flash a custom PH44IMG zip file or tried using the RUU and get a version is too old error, it's because the version string stored in the misc partition got flashed to a version that is newer and doesn't officially exist. Thus the official RUU will fail to install to it. (a security measure to prevent most users from flashing an older firmware with exploits back to the phone)
Thanks to 2fast for pointing me in the right direction for this. After some quick searching at xda forums I found this:
HTC Misctool [Tool to read/write main version] - xda-developers
It is a tool that is run in CWM to fix the version string stored in the misc partition. hBoot uses this to check the version of the PH44IMG zip file with that of the one stored in the phone. RUU installer also checks this. If the version is too new you get a version is too old error and RUU installer will also fail to work. You will need ClockWorkMod for this script to run. You can run the misctool program once Android is booted, but you'll need root for it to work. (read up on the thread on how to run the misctool from a terminal/inside Android).
I have modified the script to flash the correct version string to our phone. It will flash the CURRENT version string that the OTA June update uses. Thus if you want to use the pre-june OTA RUU, you'll need to edit the updater script to reflect the older version string. Or you can use the unmodified version from the forum above and get the base 1.0 string that will work with everything. My zip just ensures that the phone has the "official" version string.
SetMainVersionLOW.zip
Since the Sprint version uses a newer version string, you can use this on that as well since the Sprint version uses a newer version string and this one flashes one that is older, so the Sprint RUU and sprint hboot images can still flash since they will be newer.
Also if you don't yet have CWM installed and try to install it and get the version too old error, use this version string and replace the one in the "mainver" setting in the android-info.txt stored in the PH44IMG zip file:
2.12.651.5
Then once you have CWM installed, you can use the installer zip to fix your version string.
Thanks to 2fast for pointing me in the right direction for this. After some quick searching at xda forums I found this:
HTC Misctool [Tool to read/write main version] - xda-developers
It is a tool that is run in CWM to fix the version string stored in the misc partition. hBoot uses this to check the version of the PH44IMG zip file with that of the one stored in the phone. RUU installer also checks this. If the version is too new you get a version is too old error and RUU installer will also fail to work. You will need ClockWorkMod for this script to run. You can run the misctool program once Android is booted, but you'll need root for it to work. (read up on the thread on how to run the misctool from a terminal/inside Android).
I have modified the script to flash the correct version string to our phone. It will flash the CURRENT version string that the OTA June update uses. Thus if you want to use the pre-june OTA RUU, you'll need to edit the updater script to reflect the older version string. Or you can use the unmodified version from the forum above and get the base 1.0 string that will work with everything. My zip just ensures that the phone has the "official" version string.
SetMainVersionLOW.zip
Since the Sprint version uses a newer version string, you can use this on that as well since the Sprint version uses a newer version string and this one flashes one that is older, so the Sprint RUU and sprint hboot images can still flash since they will be newer.
Also if you don't yet have CWM installed and try to install it and get the version too old error, use this version string and replace the one in the "mainver" setting in the android-info.txt stored in the PH44IMG zip file:
2.12.651.5
Then once you have CWM installed, you can use the installer zip to fix your version string.