hi chilly,
i check it out. 
thank's for the great answer.
you are the man.
I did some more digging into the cards that don't work for me and figured out a work-around for the problem. Turns out that the non-working cards I have are trying to send the data at the same time as the command response. Since I was getting the command response, THEN getting the data, these cards would be missing the start of the sector data.
I'm not sure yet how to deal with it, but I've added a hack - if the card fails to mount, I set the "Funky Flag" and try to mount the card again. The funky flag makes the read routine skip reading the command response and go straight to reading the data. This makes the cards I had that failed work now.

Ironically, by skipping the command response, these cards are slightly faster than the others, loading a 4MB rom a few seconds faster than the cards. Not a big difference, but certainly measurable.
I'll be posting beta 6 with these changes shortly. When I do, please retry all your SD cards to see if 1 - cards that worked before still work, and 2 - cards that didn't work before work now.