Hallo,
die Delay10KTCY()-Funktion erwartet einen unsigned char als Parameter. Das heißt, dass du maximal nur Werte 0..255 eintragen kannst.

Wenn du eine halbe Sekunde Wartezeit haben willst, dann brauchst du Delay10KTCY(100), weil:
Die Laufzeit der Funktion ist 10000 Zyklen * Parameter. In dem Fall also 1000000 Zyklen. 1000000 Zyklen entsprechen 4000000 Takten. Bei deiner Taktfrequenz von 8MHz entspricht die Wartezeit dann genau 0,5s.

Grüße