First of all, and most importantly, I want to extend my condolences to you and your son for your loss. It is always tough losing a pet, but sometimes, as weird as this sounds, losing some pets is harder than losing others, especially when you put so much effort into ensuring their survival.
Next, don't punish yourself over losing your snake. As has been stated both here and elsewhere, pet stores, for the most part, know very little about reptiles as pets and will say anything that sounds good as long as it results in a sale of their animal. Chances are very good your snake may have been sick even before you got him and the disease just went undetected to the point where, when it finally did become apparent something was wrong, it was just simply too late. Take comfort in the fact he is not suffering anymore.
As for diets, I am not well versed on diets for snakes such as your Garter so I won't even begin to try and tell you waht's right and what's wrong to feed it. However, in regards to getting a Ball Python for your son, in all actuality, these are probably the best snakes for your son to have, as well as you. I have found in my experiences with Corn, Milk, and Garter snakes that they seem to have wicked tempers at time and resort very easily to striking and biting. This can intimidate a young one and turn him or her off from even handling the reptile. Balls on the other hand are extremely forgiving, and I don't carer what anyone says, if you show them you care and are not there to hurt them, they will be one of the best pets you could ask for. I am finding that out already with the pair I have now. Plus, Balls don't need vitamin supplements and they are more easily fed, for the most part, than the other snakes you are considering. I would suggest getting a young Ball Python so it can grow with your son, as well as yourself. By doing so, both you, your son and the snake will grow up to know what to expect from eachother. It's just a suggestion, but I sincerely hope you put some serious thought into it.
Finally, no matter what type of snake you do decide on getting, please purchase one from a specialized breeder. The information, help and knowledge you will have access to will be immeasurable which can only result in positive results from your next husbandry attempt with a snake. I wish you all the best of luck and no matter what snake you decide to purchase, with your concersn there is no doubt it will have a happy, healthy home to live in for many years to come.