Cats don't necessarily purr because they're happy. They purr when they're ill or about to die, too. Purring doesn't necessarily equate health or even happiness - it's a self-comfort sort of thing. Did they check his liver or kidneys? He could have acute liver or kidney disease - it's common in cats fed dry food because it stresses out their organs so much. What's the color of his gums?
I'm assuming he just won't eat his regular food. Try offering him canned food(again, this is assuming you feed dry) or boiled chicken and rice. See if he'll eat those.