I thought MV had already fixed this bug long ago, but if you want a quick workaround that doesn't require any code:
- create an event off screen
- change the graphic of the offscreen event to the same you want
- add a wait command with a small number of frames (like 5)
- change the graphic on the event you actually want to change.
the bug happens because MV removes the old event graphic as soon as the new one starts loading. If they waited for the new graphic to load, there would be no blinking (and the wait would be just a few milliseconds, so it would not make any difference).