You can mark the transmission with CS. CS goes low, you exchange the whole 8 bytes (or whatever), then CS goes high. You program the slave to reset its state as soon as it sees CS going high. You verify the transmission with checksum or CRC if needed. If you've got errors, you wait enough time for the slave to reset the state, then you repeat the attempt. This way you don't need any byte counting.
