Problem chyba leży w funkcji IsPalindrome, a dokładniej w linijkach:
unsigned long long n = 0;
n = n*10 + temp%10;
bo 0*10 = 0 i w kółko masz same 0, popraw na n=1 i wtedy zobacz
Poza tym pomyśl, czy funkcji PrimeNumber nie dało by się jakoś przyspieszyć zmieniając delikatnie pętlę for, albo w twoim przypadku proponuję zastosować sito erastotenesa, nada się świetnie i istotnie przyspieszy program