I send a battlemage with Elemental Affinity over a fire surface so he can cast Laser Ray for 2AP instead of the normal 3AP requirement. As the mage is running toward the blaze of fire, his APs fall below 3 which causes Laser Ray to become unavailable (grayed out). After he's stepped on the fire surface, Laser Ray shows a 2AP requirement as expected, but it is still grayed out. So Elemental Affinity kicks in, but it doesn't enable the spell as it should.
Fortunately I found a workaround, completely by accident, which is to switch to another party member, then switch back to the active character and then everything works as it should.