I can’t say much to SPI access to a MicroSD card, but if you are using the SDIO peripheral, and trying to get it to work on a breadboard, you’re likely running into an issue with the GPIO drive strength. I mentioned it a while back in a github issue.
Try changing these two assignments: here and here to GPIO_SPEED_FREQ_LOW
and see if things work better.
If it helps, I’ll make a PR which maps the GPIO drive strength, to the clock frequency as I suggested in that comment.