As a programmer myself, this could be done easy or hard. If it was me I would simply do it as an on demand routine.
To keep it simple you would just need to enumerate through the completed scenarios reward list counting only skills, powers, and cards.
Then enumerate through each character's skills, powers, and cards. If there is a mis-match, just set the hardest scenario it thinks complete to not complete that matches the missing skill/power/feat.
In fact you could implement this once on start up with that patch, and set a flag to never run it again if you were concerned about performance. Then just deprecate it out a few patches down the road.