Hello Wings and Peg,
It appears that the additional requirement to explicitly read SPIS register before sending each data byte may have been first introduced for the HCS12, and subsequently found its way to the HCS08 devices. After examining a number of data sheets, I have not been able to find any HCS08 devices that do not have this requirement.
On the other hand, all the HC08 devices seem to allow an immediate write to the data register without testing for the status of the flag. Of course, if the flag is actually clear, the write would be problematic.
Curiously, AN2717 "M68HC08 to HCS08 Transition" does not mention this difference, contrary to a reasonable expectation. However, this application note also has other problems in its SPI section. It claims that the receive process is "double buffered" for the HCS08, but is not double buffered for the MC68HC08, for a very similar hardware configuration in both cases.
For all writes, other than the first write, the SPIS register has already been read, by virtue of testing the SPIF flag, and the SPTE flag must always be set at this point, provided only a single byte was previously written. So the additional requirement only becomes an issue after SPI initialisation, as Wings has found. The "belt and braces" approach is to specifically test the SPTE flag prior to every send, as Peg does.
Regards,
Mac