The flicker the most annoying part. Anything that gets rid of that would be an improvement.
Okay, I'm feeling generous today

Attached is some code I worked tirelessly on back in the days. These were part of a project that never got finished.
The first project "Scroller1" was my attempt at writing a smooth scroller using pure VB6. I think it's just a label or something from memory, but it's probably somthing similar to what you've written. I did a fair amount of research to reduce the flickering, so this might be enough for your needs.
"Scroller2" was alot of work back then and I was pretty new to VB6 and Windows programming. It's a painstaken port of C++ code (you may notice that when you look at mDXScroller.bas). It's pretty cool, it has some wild effects applied to the scrolling text using all sorts of funky DD blitting. That runs really smooth on my machine now, it was pretty slow on my old PC. You will probably need to modify it to suit your needs. The fact VB6 didn't allow threads means anything you do in the GUI can stop the scroller from moving.
"G-Force" is part of this same program that was used to control this program externally. It sends the key commands to make G-Force do things from your application. It also shows how to move the G-Force window places on any monitor and remove the border etc. You have to place the actual G-Force application in the appropriate folder.
Have fun, and let me know if it's of any use to your project
