First, thank you all for your very nice suggestions. I was really surprised and it made me feel better. I was a bit disheartened. Sorry if I seemed like a jerk. I don't have much experience in multithreading but I will look into that if nothing else works out, howardpc.
Do you know a site where I could learn some simple multithreading? Graeme Geldenhuys, I may follow your suggestion to replace GetTickCount with calls to Epiktimer but I would prefer a form component because I think it would be "immune" to any movements of the form like TTimer, TTrackBar, ProgressBar etc. are. Other than that, GetTickCount works fine but I have some questions about it, like, will it work on all computers, no matter what their speed is? Perhaps as you said, maybe I don't need Epiktimer since I need a timer that moves the needle one pixel every .025 a sec..
Epiktimer etpackage_dsgn.lpk compiled just fine but when I tried to install it, I got messages like "Missing Treeview" and a message that the Epiktimer .lpk file was missing a register procedure, even though I saw one in the code. This may be because my version of Lazarus (1.0.10) is not compatible with Epiktimer 1.0.1, I don't know.
All this is too bad because I've heard nothing but good about Epiktimer. Thanks again so much, you guys.