Cannot Initialize 8GB SDHC CMD8 responds with (0xFF)
for(count = 100;count>0;count--){


That is only 100 response bytes, my code uses 1000 for every SD command. Some cards may need the extra time/clocks.

Note that IIRC you also need to process the R7 response of the CMD8.

SDHC card code is non-trivial, but there are a lot of open source implementations to learn from.