When you change the food, are you introducing it slowely?
Some foods just don't agree...i've attempted a healthy vet diet to my kitties and even after taking a month to intro the food it still made them vomit and have runny poo.
It is also possible that he is eating a plant? Even a favorite outdoor one, if it gives them the trots but they like the taste they'll keep eating it!
Getting your girl spayed is the best thing you can do. She'll be a good normal lady after that's done!