Hi
To make sure PBP does not break any RAM boundries I would like you to do a small test. Take the code that does not work and add some extra code to it at the start of your program.

Code:
Dummy_0 Var Byte $FF
Dummy_1 Var Byte $1FF
Dummy_2 Var Byte $2FF
Dummy_3 Var Byte $3FF
This will force PBP to load byte variables at the end of each RAM bank.

I am really interested in the results.