I read the poll answers, and they didn't make a lot of sense to me what it was you were trying to imply or say, so I'll say it simply- there should be no resulting code which modifies the potential result based upon whether there would be a match or not.
So: Dark Troll (Double the number of Purple Gems on the Board. Then create 4 Purple Gems.) -- If there are 9 Purple Gems on the board, the final result should be 18 Purple Gems, +4 (which may overwrite the existing Purple), which means from 18 to 22 Purple Gems should result from the cast of Dark Troll.
Jarl Firemantle (Create 9 Red and 9 Yellow Gems, then deal x damage to an enemy). During the creation stage, Jarl is modifying 18 gems total on the board (including existing Red and Yellow). This is not an X, then Y - this is an X and Y. Jarl will be modifying 18 of 64 gems (28.125%). There should not be code involved which prevents or modifies any matches based upon existing board layout.
Elemaugrim (Deal X damage to all enemies. Create 8 Purple Gems, boosted by Burning enemies.) During the creation stage, this will result in 8 to 12 Purple gems total being created (potentially overwriting existing Purple gems.) There should not be code involved which prevents or modifies matches based upon existing board layout.
Gar'Nok (Deal 1 True Damage to all allies, then create 7 Red and 7 Brown Gems both boosted by Orc Allies.) This will create 16, 18, 20, or 22 Gems, half of which will be Red, half of which will be Brown. This is generated at the same time- as Jarl above, this is not an X then Y, this is an X and Y. I've seen casts of Gar'Nok which treats it as THEN, when the text reads as if it should be simultaneous- from 16 to 22 Gems, 25% to 34.375% of the board. There should not be code involved which prevents or modifies matches based upon existing board layout.