I think I also answered one of these similar questions
here.
...But since the question is slightly different and it was interesting to work on, despite the wierdness of your requirements, here is a function that should work nicely:
static int ParseCrazyHexValue(string input)
{
input = input.Trim();
if (input.Length % 2 != 0)
throw new ArgumentOutOfRangeException("Input string must be an even number of chars.");
string output = string.Empty;
char[] chars = input.Reverse().ToArray();
for (int i = 0; i < chars.Length - 1; i += 2)
output = string.Format("{0}{1}{2}", output, chars[i + 1], chars[i]);
return Int32.Parse(output, System.Globalization.NumberStyles.HexNumber);
}