Bells may be ringing...
My initial page 0 and 1 RAM tests are not exhaustive enough for my liking. There could be issues that 'sneak through'. It is just possible that the current tests initially pass the RAM and then fall foul when it gets used in anger later on. Although I don't think there is anything that would actually result in a blank screen though - there should be some static text displayed and then it 'dies a death' when it tries to calculate the ROM checksums (as this code uses subroutine calls/returns that in turn uses page 1 RAM, and a 16-bit pointer - or so - to address the ROM).
There is still something 'strange' going on?
Dave