Short primer on spell batching,
As spells hit the server, they are batched (grouped) and then executed. None of the spells in the same batch influence one another. They are all processed based on the conditions that existed at the time the batch was released.
This is why a Mage’s shatter combo can work. A Mage with shatter means any spell they cast against a frozen target has a much higher than normal crit chance. In principal, a damage spell will break the freeze. But if the Mage can get two damage spells to proc in the same batch, both can take advantage of the target’s frozen state.
If you played on private servers, you may have seen the complaints that surfaced from time to time that a Mage couldn’t get a shatter combo to actually work. This is because private servers never got spell batching right - and many didn’t even bother to try.
There is a myth that Mages have circulated forever (since spell batching was such a mystery) that a shatter combo had something to do with sneaking in an Ice Lance damage at nearly the same time as a Frost Bolt hit - and some kind of latency or other poorly understood magic let both damage spells take advantage of the frozen state. This is correct in a way, the timing was important. But it wasn’t really a mystery . . . it was spell batching.
A mage can shatter combo pretty much any spells, but the short nature of a batch means at least one of them is going to have to be instant. But you can do a Fireball / Arcane Explosion shatter combo if you want to, as example. The most frequent combo in Vanilla, if I recall correctly, was Frostbolt / Cone of Cold because they were both relatively high damage spells in the frost mage’s kit.