S.L.
STOP giving him what he wants! it's a negative form of attention when he gets you to react. Try ignoring it - ie. not gagging. Divert him somehow...My daughter makes this rasberry sound and drives me crazy! I started ignoring her and one day told her only babies make those noises cause they cannot talk... it worked! she says "I'm not a baby!" maybe you could tell him big boys don't eat boogies??
good luck!