Praise be to Allah.
There is nothing wrong with a person giving his zakaah to his mother in law; rather she is more entitled than others if she is poor and needy, because of the ties through marriage that exist between them.
With regard to the grandson, he does not have the right to give his zakaah to his grandmother unless he is not obliged to spend on her.
There is nothing wrong with you eating from your grandmother’s food, even if it is part of the zakaah. One of the basic principles of the scholars is that the ruling on a thing changes if the means of acquiring it change.
This is indicated by the report narrated by al-Bukhaari (5279) and Muslim (1074) from ‘Aa’ishah (may Allah be pleased with her) who said: The Messenger of Allah (blessings and peace of Allah be upon him) came in and there was some meat in the pot, but some bread and condiments were brought to him.
The Messenger of Allah (blessings and peace of Allah be upon him) said: “Don’t I see a pot with some meat in it?”
They said: Yes, O Messenger of Allah. But that is some meat that was given in charity to Bareerah, and you do not consume charity.
The Messenger of Allah (blessings and peace of Allah be upon him) said: “It is charity for her and a gift for us.”
Once the poor person takes possession of that which is given in charity, it becomes his property and is not longer regarded as “charity”; he may then dispose of it however he wants, by selling it, giving it away, and so on.
An-Nawawi said: This indicates that if the description changes, the ruling also changes, so it is permissible for a rich person to buy it from the poor person or to take it if it is given to him or to a Haashimi (descendent of Banu Haashim) or to anyone else for whom zakaah per se is not permissible. End quote.
Sharh Saheeh Muslim, 5/274
Al-Haafiz Ibn Hajar said: It may be understood from this that the prohibition of a thing is connected to its description (i.e., whether it is zakaah and so on), not the thing itself. End quote from Fath al-Baari, 5/204
Ibn al-Qayyim said: The fact that the Prophet (blessings and peace of Allah be upon him) ate some of the meat that had been given in charity to Bareerah indicates that it is permissible for the rich, Banu Haashim and anyone for whom zakaah is haraam to eat what is given to him by a poor person who received it as charity.
End quote. Zaad al-Ma‘aad, 5/175
Shaykh Ibn ‘Uthaymeen said: That indicates that if a person acquires something lawfully, it is not haraam for another person for whom it would not be permissible if he had received it from the first giver.
Similar to that is the poor person who receives zakaah: it is permissible for him to make food with it and invite rich people to come and eat from it, because the rich person is not benefiting from it on the basis that it is zakaah; rather it is on the basis that it came from this poor person who took possession of it lawfully.
End quote from the Shaykh’s website:
To sum up:
If zakaah is given to a poor person and he gives some of it to a person for whom zakaah is not permissible, whether he is a rich man or otherwise, his giving it to him is permissible and the rich man may eat from it without any problem.
And Allah knows best.