Not sure that is your issue. Your form events coding causes multiple runs of the OnCurrent code. First is the refresh. It makes no sense to refresh a form that is just opening. That is one event that causes one of the multiple OnCurrent triggers. Then it seems a bunch of fields get updated by code, causing OnCurrent to fire again, which causes a Requery, which causes the update sub to run again, which again fires the refresh, which calls the fullname function (which runs 3x for some reason)... I got lost between trying to follow that and Boston vs Astros. You did step through this code and already know that, yes? So the main focus of your post is to know how to turn off the flickering and allow all of this to still run as is?
If you work in Application.Echo false in this chain of events somewhere (in the open or current event?), be sure to use an error handler lest you find yourself not able to interact with anything on the screen because Echo is turned off.
My focus would be on preventing what presents the need for controlling Echo in the first place. At this point, I have no idea what that is since only you know why this chain of events was created.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.