You should just need two entries in each scenario:
Grandparents send birthday money to the checking account:
Debit Assets:Checking Account
Credit Liability:Birthday Money
(it's not "income" to you, so it goes straight to a liability)
Kids spend their money from the checking account to buy a book:
Credit: Checking Account
Debit Liability:Birthday Money
Don't try some complex system of double entry-accounting. Just open bank accounts in their name. The money that they get from relatives can start earning interest. Yes I know that interest rates are low in the United States, but if my kids were young I would do the same thing. The interest they earn will be credited to their account.
Having the separate ...