One thing a counsellor once told, that sounds really really obvious but can be difficult to accept, is that other people are not me, and i will always be upset and disappointed if I expect them to behave as if they were.
It might be good to think about that now, OP.
Your friend is a different person to you, with different strengths and weaknesses. You sound like a very kind and generous person, with your time, money and resources. It sounds like this friend is not equally as generous, giving and thoughtful.
But that doesn't make her a bad person necessarily, or even a bad friend.
She sounds quite honest (I kind of admire her for being honest about the birthday gift, really - many people would have lied). Maybe she isn't very good at knowing what to say in difficult situations, but she isn't ignoring you, she did ask if you needed anything following your sad loss. Maybe she thought you would say if you wanted her to check in/wanted to talk about it.
I had to have a day off work recently as my dad (already seriously ill) collapsed in the night, and it looked like he was on the way out. I didn't hear anything from someone who is a good friend, that I work with. I texted her assuming nobody had told her what had happened, but she said she knew and that was the reason she HADN'T text me - she didn't want to intrude when I was clearly going through a difficult time. But I know from experience with this friend that, if I told her I needed to meet up for a chat, she would be there......
The childcare thing is an awkward one - on the surface it seems like she has been taking the piss, but have you ever said anything to her to imply it makes your life harder in any way? When my DD was little I had a reciprocal arrangement with her friend's mom and we both did an afternoon's childcare a week for the other, and I actually found it much easier than having to entertain DD on her own at that age, so I positively liked doing it..... And she may genuinely not have thought about the expense.
If you are happy to keep doing it (and you are not obliged to) , I think you should say, money is a bit tight at the moment, is there any way you could give me £10 a week (or whatever you think is fair) for his drinks and snacks after school? If she isn't happy with that, she will need to look elsewhere.
If you don't want to do it any more, just say so.
Maybe you don't want to be friends with her at all any more, and that's fine too. People change and friendships run their course. She will never behave exactly as you would like her to, because that's not who she is. But I see no evidence that she doesn't actually like and care about you - I think she is just perhaps a bit thoughtless/self absorbed even.
Depends whether her good points outweigh the bad for you at this point.
If you do want to end the friendship, I think the kindest thing would be a slow fade. It avoids unnecessary conflict, especially when both of you have lots going on in your life at the moment. Neither of you need the stress of a dramatic fall out!