Have you tried stepping through the code in assembly mode with a debugger and confirmed that it is trying to read and write to address 0x8000? If that is correct I don't know what is going on.
I use the 9s12e256 chip in normal expanded narrow mode and the assmbler code we use to get it into that mode is
ldaa #RDWE
staa PEAR
ldaa #MODC+MODA
staa MODE
bset MISC,EXSTR1+EXSTR0
then to write a word to address 0x8000 is
ldaa #0
staa PPAGE
ldd #$AA00
std $8000
and to read a word at address 0x8000 is
ldaa #0
staa PPAGE
ldd $8000