Whenever you switch dog foods unfortunately there is a side effect. BAD GAS!! When did you start switching his food? Did you do it gradually (by mixing the foods) or just change him from one to the other? If you did not go through several days of mixing, it is very hard on them. This could be one of the problems. Also, it can several days for a puppy to adjust to his new home. Diarrhea (along with gas) is not uncommon during this time due to stress. Make sure he gets plenty of fluids, and check to see if he is dehydrated at all. You can do this by pinching the wrinkly skin on the top of his neck, and if it stands up that means he is dehydrated. If it falls right back down then he is not. Get him to the vet immediately if it stands up!!!! If the diarrhea is mild and he is having plenty of fluids, give it a couple of days before you get concerned. If you have not taken him to the vet, I would get him in there to check for coccidia, which is a pretty common bacteria in puppies. This could also be why he looks underfed. You should definately get a fecal done, anytime you bring a new puppy home. They are very fragile when it comes to bacterias and worms. Unfortuantely there are those who breed their dogs, but never once deworm them or treat for coccidia preventive....
Once you have that all done and they have had their vaccines, give them good food and they should only have to see the vet once a year!
As far as puppy foods go, veiw this page for dog foods that are rated 4 stars and up (sorry, not finished the page yet.....)