I would actually respond and ask for the gift cards back.
"Dear SIL,
I'm sorry that I underspent. If you will return the gift cards to me, I'll give it another try and send something more appropriate. There's still plenty of time before Christmas Eve. Thanks!"
If she actually does send them back, go to Toys R Us and spend them on toys for Toys for Tots (you can get a lot for $25). Make a list of all the toys you were able to purchase for children who would, otherwise, not have a Christmas and send it, with some home-baked cookies or handmade something, to the kids with a note that says:
"I got a note from your mom earlier this month and it helped me see that this year, with money so tight around the country, it would be most meaningful to make my holiday gifts for family and friends and to donate the money I normally would have spent to help provide gifts for kids in the community who would otherwise have nothing to open on Christmas morning. I have, therefore, donated $25 to Toys for Tots in each of your names. I hope you enjoy the homemade gifts I've sent as well as the priceless joy that your donation will give a needy child. Merry Christmas!"
I don't think a gesture like this punishes the kids, particularly if you send it along with something inexpensive that you've made that speaks directly to each kids' interests. Besides ... they're under 8. They won't be scarred for life. And -- if there are still Christmas miracles out there -- maybe your SIL will finally "get it". Not only will she see how much you can actually get for $25, but she will be trumped in the "Christmas spirit" department. She may never admit it, but she'll know.