Yes, vias between ground pours, especially at trace/bus crossings (three or four vias), and every so often alongside traces, beside components, etc.
Here's a closeup of good stitching,
Note the ground in red, coming in from the top right, with a via beside a pin (just out of view, the spoke is just visible), making a peninsula down and to the left. Two vias stitch the peninsula to the bottom side copper, also stitching around the bottom side trace which makes a slot in it there. Likewise the bottom section (around the "D2" text) goes from left to right, with two vias partly to stitch around the trace exiting bottom of view, but also kinda just to have extra connectivity in the area. (These two vias, specifically, don't really need to be very close together, as the loop between vias, around that trace end, is quite small. Stitching has more value in the middle, like on the above trace.) And top-left, a bit of ground pours between pads of a component (an SOIC) with a stitching via.
A board that size, will probably have a few hundred stitching vias. They can be autogenerated in some cases, though not usually very well (i.e. not paying attention to trace/bus crossings, peninsulas, etc.). Just another fiddly thing to put in the list of PCB review items.
As for the EMP, it's partly proximity to the spark itself and nearby components (wires, generator), and partly the wires going to the unit (conducted).
Consider: it only takes a volt or two to momentarily corrupt logic levels in a digital circuit, hundreds of volts to cause persistent upsets (that needs a power cycle to clear), and hundreds to thousands of volts (depending on condition) to cause physical damage. And your spark is tens of thousands. So there's two decades of wiggle room, to go from that high voltage spark, over to nearby circuitry, and still cause severe problems. Logarithmically, that's on the order of 40dB attenuation. Which you probably have less than, between spark and that nearby loop for example.
Distance is your friend, when it comes to radiation. Simply putting the module out on longer leads (a meter or two), away from anything of significance (including any nearby metal!), may help. That at least isolates it down to (mostly) just the connecting leads. Which can be filtered (with LCs) and protected (with TVS) as others have described. There still may be problems, as the module itself can be doing nasty things with respect to its surroundings (i.e. generating common mode noise), so it's still not a slam-dunk solution -- but it at least gives your circuit a better chance of success.
Closing sensitive loops is likewise helpful. Keep fly leads close to the board, and keep wires in a cable/bundle/harness/etc. close together, preferably twisted. Big open loops near the spark, big no-no.
This applies within the board itself, which is why having a good, solid ground plane is so important. You don't want to have voltage offsets (even transiently) between different parts of the circuit, due to differences in ground voltage.
Sparks have risetimes in the sub-nanosecond range -- it is very much meaningful to think in terms of a blast of electromagnetic radiation, expanding (propagating) at the speed of light around the offending source. The quarter-wave length of 1ns is only 75cm -- the voltage drop along a wire of the same length can be (momentarily) very high indeed (i.e., many kV, if struck directly)!
It sounds like you have a pattern of at least two devices failing in some dubious manner -- there are still other possible explanations, but it sounds like this is the most likely case.
And who knows what else on the board is affected; it may be worth doing a diode test between the pins of everything, see if you can find any other suspected failures.
And yes, high supply current is a possible partial-fault condition in these situations. Precisely what happened, might be something like: one or just a few pins got blasted by EMP, causing the pin drivers / ESD clamp diodes / whatever to fail shorted, or at least low resistance. Much of the chip remains functional as usual in that case, but there's a surgical hole blown through certain pins, or certain functionality, etc. It wouldn't have taken much more energy for the chip to fail in a more comprehensive manner (e.g., supply shorted, multiple pins damaged, VDD overvolt causing damage to core logic functions, etc.).
Semiconductors have very small structures indeed (sub-micron size); respect them carefully. It takes invisible amounts of charge to blow out such tiny things. That they put up with so much of the abuse we give them (like just ordinary handling -- even with ESD precautions, transients might be on the order of 100s V), is a testament to how reliable our processes, for the most part, are!
(And yes, to be perfectly clear -- ESD is a [potentially] human-generated EMP event; albeit a small one, but no less destructive to semiconductors up close enough!)
Tim