After thinking about it I think I know what is happening. I had the exact same problem when I wrote the Jetpac text scroller and it was because I had an array over 255 characters long - in the end I broke it down to multiple arrays. Many of those characters you see onscreen I suspect are being sent to the screen as an individual character.
I've had the same problem going back in to Astral Invaders afresh, and also seen it on my brothers machine too in Jetpac before I made the changes to the array length.
As far as I can tell DB has a byte-overrun when the string is too long and reads off an area of memory that is not reserved for just the string, so any resulting change in the state of that memory can cause corruption. This is only a hypothesis.
I hope that helps.
Pneumatic Dryll, Outrageous epic cleric of EQ/Xev
God made the world in 7 days, but we're still waiting for the patch.