One the face of it, a person can take a cookie, or you can give that person a cookie.
That seems logical enough, but you can also take that person a cookie. The difference is that you might take someone a cookie from the cookie jar, but when you bring that cookie to that person, you give them the cookie. It depends on whether you're referring to the place the cookie originated or its intended recipient.
With baths, that's not quite so clear cut, because actually you don't take the bath anywhere -- on the contrary, you take the person to be bathed to the bath.
Given the prevelance of the phrase, all we can say with confidence is that it is non-standard English. But English is more than standards; there are many different dialects, and what is incorrect in standard English may be perfectly correct in one or more dialects.
As a matter of fact, it isn't a grammar issue (the grammar is actually perfect), it's a usage issue. And usage is even harder to pin down than grammar, which is why you can't find any grammar rules to support your view.
Google doesn't list that many hits for "take him a bath", incidentally. It does claim to have found about 41,000, but will only list 27, which is odd. Still, I can tell you that it does crop up in both American and British contexts, so although it's non-standard, it does appear to be used on both sides of the Atlantic.