perhaps simply because the 65c816 has bug
I discovered with the W65C816SXB board that it was not working correctly in emulation mode
if you try this code in emulation mode
LDA #$FF
STA $40
STA $41
LDY #$02
LDA ($40), Y
either you have an error if the machine only has 64k of memory
or if the read works you get a byte from $010001 and not from $000001
there is probably a work around by taking into account the E flag
while loading the latch (if in emulation the latch is kept a $00 it should work)