We celebrated my sons 6th birthday on our September 30 cruise. His actual birthday was October 2. We ordered the birthday celebration package (decorations, magnet, cake) which was all in our stateroom when we checked in. The decorations were great. However, the cake had to e kept refrigerated and once it has left their control they can't keep it in their refrigerator. So we had to keep it in our stateroom refrigerator for two plus days (which was a hassle because we couldn't have water or anything else in there)
Them on his birthday, we brought the cake to dinner and asked the head waiter to hold it until dessert. They almost couldn't do it because they didn't want to risk contaminating other food and they also were concerned for our safety and that of our table mates (who we planned to share with)
In the end, they did keep it for us. The cake was not good at all. It had strawberry filling and was just not very good at all. It didn't have butter cream frosting more like a whipped cream. The package was $53 with tax.
However my son loved having everyone sing to him. Maybe buy a cupcake at one of your ports or buy a cake at a port?