I think its very sweet that your son wants to do something nice for his friend.
My sister passed away several years ago at the age of 28. She left behind 3 small children. In addition to the typical food, flower, cards, and gift donations, several people did give the children small gifts. However, they were more on the personal side rather than gift cards. For example, my oldest nephews teacher gave him a willow tree figurine. (I know there were others, but it was such a stressful time that I can't really think about what some of the other gifts were).
During the time of the funeral we all kept the kids so busy that they didn't really have time to think or process everything. After the funeral once everything calmed down, many people would call and offer to take the kids out for an afternoon to do something fun with them. My youngest niece was in preschool at the time and one of the aids at the school would take her to the playground after school and let her play with her own children for the afternoon.
Also, many, many people chipped in to help with holiday events. My sister died in November. Her co-workers fixed Thanksgiving dinner for the family. My work and my Dad's work pooled money together for Christmas presents. For Easter, her co-workers again filled Easter baskets for all the kids.
This little girl will need lots of love and attention after the funeral. I would suggest holding off on the gift card for now. Give her a nice sympathy card. Then maybe take her out one day and do something special (maybe even give her the gift card then). If you do get a gift of some sort now, make it something personal that would relate to her Mom.
(On a side note- I will say that after I returned to work after the funeral, my co-workers did give me several gift cards to some of my favorite places - starbucks, cold stone creamery, etc) because they said I deserved something special because of everything that we had had been through. They also gave to the charity we requested. So, giving something like this isn't necessarily inappropriate. I think you just have to wait for the right time).