I have a product that uses SD cards in SPI mode. It's been trouble-free up until now, but I found an SD card that doesn't work. This is a cheapo 2G card, not HD, brand name "Centon". It accepts CMD8 properly, but then it gives an "invalid command" response to ACMD41. If I step it past that point, I find it also gives an "invalid command" response to CMD9, READ_CSD. Without that info the card setup can't be continued any further.
Thinking this may be just a cheap Chinese anomaly, I went out and bought every different kind of SD card I could find, about 10 of them. Most work ok but I found another, an 8G HG card brand name "Adata", that behaves exactly the same way, invalid command to ACMD41 and CMD9. Yet both these cards work ok in non-SPI mode using a standard Windows USB card reader. The only thing I noticed is that both took a second or so longer than usual to come up.
I have the full SD specs, version 3.00 draft 1 2009, and nowhere in its 3 volumes and 700 pages is there any mention of how this situation can arise or what to do about it. In fact, the docs say that an "invalid command" response to ACMD41 means "Not SD Memory Card" (fig 7.2, vol 1 page 167). I wonder whether I'm just doing something stupid, or whether there are a few cards out there that don't fully comply with the SD specifications.