Suggestion: Rem out all of your API_DoEvents calls, that you can, and test speed again

To gain speed, you have no choice but to time how long some of your subs/routines take to complete and how many times they are entered. This is time consuming, but really the only way you are going to know which parts are the slowest.