SD card initialization problem - CMD8 wrong response
I was designing FPGA configuration and writing driver for SD-card a year or so ago, and caught very similar set of issues. My solutions to wrong responses / misbehave of SD-card was simple:


when you end command, you do not stop clock just after command completion, you keep supplying clock for 8 or 16 spare cycles - with CS being active or inactive. I think I supply 8 when CS is still active, and another 8 after it deactivates;
when you start command, you do the same as above - before activating CS you supply 8 spare clocks, after you activate CS you also supply 8 spare clocks and only then start the command, which is then sensed by octet's first bit being 0 (command start bit).


The clock signal is required for card to complete some its internal operations (the most obvious example is recovering from the data/command error). If your design would supply clock without interruptions you would not catch this issue.

Update: looking to your waveforms supplied I think you should have MOSI being high when CS is not activated and when command is not in progress. Look here, you may find it useful (however not sufficient) to design the SD-card interface.