I tried it out and also can see it, so something has changed with GM's processing order that causes this (it was always a bug but it just didn't happen before for some reason, lol - presumably the player was always handled before the dialogue boxes but now it's handled after and thus retriggers the interaction immediately after it closes)
It's easy to fix at least, just update the "Interacting" block of obj_player's step event like so:
//Interacting if(interaction_cooldown){ interaction_cooldown-- } else{ if(k_a && !p_a){ var o = collision_circle( x + lengthdir_x(TILESIZE,drawdir) - TILESIZE*0.5, y + lengthdir_y(TILESIZE,drawdir), 12, parent_interactible,false,true ) if(o > 0 && instance_exists(o)){ interaction_cooldown = 5 with(o){ if(object_index == obj_npc || object_is_ancestor(object_index,obj_npc)){ drawdir = (other.drawdir + 180) mod 360 } if(interact_script != NONE){ script_execute(interact_script) } } } } }
Then just initialize interaction_cooldown to 0 in the Create event and everything should work as expected.