I don't think that would help, the reason is that lock screen only lasts as long as a handler is running. As soon as a handler finishes the screen unlocks automatically, regardless of the last status of lock screen in the handler.Not sure though if it would help to lock / unlock the screen every 20 milliseconds.
What would help is to put all screen updates (in your case the coloring of the field and the timecode field) into a "game loop". A game loop is typically used in games with a lot of screen updates that would take a lot of time if done sequentially. In a game loop that runs at a constant speed e.g every 40 milliseconds via send in time you gather all the information for the objects that need an update and all objects are updates by the game loop within a lock screen/unlock srcreen pair. Sounds complicated but it is really not once you get the idea.
Your experimentation shows, that you probably could get there using this technique.
If you to try this I could probably find some references or make a sample stack.
Kind regards
Bernd