Are you sure it the compiler startup code which inits your RAM?
I would guess it is something else, the NO_INIT should stop the linker from init your data, and also the startup code would 0-init it, and not write 0x40.
So I would guess that something in your battery backed RAM setup is not working properly and look in that direction.
Daniel