Without seeing all of your code it's tough for someone to help debug, but it
does sound like a page boundary issue.

If the splash screen never shows on power-up, I'm curious as to where the
routine that handles this is located? Is it near the end of your program?

Are you 100% sure you don't have a GOSUB to a sub-routine somewhere with
a GOTO VS RETURN in the called sub-routine?