In short, what you need to do is display the table before using vertical text sprites, either as a part of the program or before running it.
Here's what's going on. The operating system has a "variable" which keeps track of whether or not displaying the small font characters should erase the line below it. On the 83, apps were the only thing that could want this to happen, so as far as basic programmers were concerned, it didn't matter. But on the 84 the mode menu switched to using the small font, so for the hilighting to look good, the row beneath the letters had to be included as a "part" of the letter. Compare this to the hilighting in the table. What happens is that when you leave the mode menu, the operating system doesn't bother to put itself back into "don't erase the row below the letters" mode because it assumes that programs will do that for themselves. Unfortunately, you can't play with these "variables" (they're actually called flags) in basic, so your only bet is to do something that will also cause the operating system to switch over to the "normal" mode. The simplest way to do this is to display the table because it displays small font text in "normal mode". As far as what can be done inside the program if the user doesn't know about this, just run a "check" before using the text sprites.
Here's how it would work. Display a small font character so that the "extra" white pixels would erase something. Then, run a pxl-test on one of those pixels. If it has turned white, then disptable. Now you are guaranteed that the operating system's variable is set up in the proper fashion for text sprites, whether vertical or horizontal.