Hi,
First I assume that you are using a HC908 MCU.
If you are using a 9S08, this is not the answer.
When the HC908 runs in Monitor mode, the reset, break and SWI interrupt vectors are replaced by a vectors that lie inside the ROM of the MCU. So there is no way to replace them.
This means that if you are running in Monitor mode and setting a break address, the CPU will return to the Monitor when this address is executed.
If a reset or SWI is executed the same thing happens.
But I cannot say why the SPI shouldn't work.
If you could send the source code and tell me what kind of MCU you have got, I could take a look at it and see if I can come up with a better answer.
Regards,
Ake