Well, I'm no expert on the banking industry so many thanks to Wendy Tall One for her info.
As for what is "etiquette-ly correct" <img src="/images/graemlins/smile.gif" alt="" /> , since over a year has passed, the best course of action would be to call the gift givers and let them know what happened. They already know you didn't cash them because the check never cleared, so you aren't telling them anything that they don't already know.
Then ask them if they want you to cash the check or not. I say this because of the time frame. Technically, if they wrote the check then it is there responsibility to ensure that the money is paid. So don't be embarrased about asking for it, because you're just asking that they fulfill a promise. But at this point, they may have changed banks or closed accounts or any number of things. Just imagine yourself in your worse financial moment, where you maybe stretched to the last dollar and any time of fee or unexpected bill can throw your account helter-skelter. You never know if that is what the giver is dealing with firght now. And if that has happened, it would only create more run around for both you and the person in question. To me, depositing a year old check seems to be asking for trouble. No matter how honorable the person who holds the account may be. Also, if you ask them, you afford them the opportunity to give you cash instead of the check.
As for being embarrassed, don't be. This is for your son. And if you plan to make this useful to him either now or in the future (i.e., school clothes, bonds, trust, etc.), then risk the embarrassment because it's for a good cause. And in your explanation, you may even want to explain what you plan to use it for to help them understand why you haven't counted the gift as a loss.
But counting it as a loss is up to you. If you feel that what was given isn't worth calling and explaining, then don't worry about it. No harm done.