We have had similar posts on here before, and I think the consensus is that family come before other relationships. I think your H is out of order in the way he treats this little boy. It is bullying and especially as he is not the boy's real grandfather, he has no right to treat the poor child this way. No child should be subjected to this kind of criticism. Our 2 DGSs are 6 and 9. They are lively and noisy....what children of that age should be. We look after them a lot and do exert some discipline but never put them down.
Frankly, I would make it clear to H that he is out of order even if it involves a row.