Flicker in the context that you've described is because you're writing to VRAM that is currently mapped to the screen.
Then it's most likely what Nightcrawler said. I'll probably have to go with method #2 to fix it up.
Thank you both! I'll edit and pop back later on this week if I'm able to get it to work properly.
Edit: GOT IT! The reason it was updating the Tilemap only once is because of the VWF name code the routine used from the game originally! It was because it REWROTE the names again which pretty much reverted the updated Layer 3 Tilemap causing issues. I wrote a specific check to ONLY do that if 7E:1433 is =/= 08 (08 being the new value for PC swapping). If it's not 08, update the names with new code. If IS 08, load the original code to reload the PC names on the menu (Which is needed when you enter other menus and come back). It's all working now
PC swapping is now pretty much done! All that's left is to accommodate for the X/Y coordinates of the hand on PC's 5/6 with the screen scroll and add in a new byte to disable character swapping if it's activated on a PC or not, then PC swapping is 100% done
Thank you again! It was something so simple but of course always evades me. Seems the problem gets figured out every time AFTER I ask for help then see it's something ridiculously small.