Chestnut is indeed reccessive; a chestnut has two red alleles so can only ever pass red on to foals, so chestnut x chestnut will only ever give you another chestnut.
All other possibilities depend on the exact genetics of the stallion and mare. If you use a stallion that's thrown even one chestnut, then you'll have a 50% chance of a chestnut. There are two sets of black genetics; heterozygous black (where there is one black allele and one red) and homozygous black (two black alleles). Heterozygous black will give you a 50% chance of a black base, homozygous black will always mean you get a black based foal.
Bay is a difficult one. Because bay works by modifying a black base, a chestnut can carry bay and you won't know about it. They could even be carrying two bay alleles; in which case, they'll never throw black, even to a homozygous black. Put to a bay with one chestnut allele, and one black, you still have a 50% chance of a chestnut foal; but put to a bay with two black alleles it depends wholly on what bay alleles both the stallion and mare carry. If either one of them is homozygous for bay, you're guaranteed a bay foal.
Grey is a bit simpler; if the stallion has thrown non-grey foals, then he's heterozygous for grey and you have a 50% chance that the foal will go grey. If he's thrown all grey foals, there's a chance he's homozygous for the allele, and if he is, every foal he throws will eventually go white.