As a nursery worker, we have a strict policy of 48 hours, return after their last bout of d or v both have the same exclusion, we have parents sign a form to say that they agree the earlist that they can come back is x date, this helps stop confusion. The reason that it's 48 hours is the bug needs to clear the system, and your right sometimes children just throw up but nurseries really can't take the risk that it isn't a bug, they have to think of all the children.
However if your nursery knows that your child has a dairy allergy he def should not have drunk from the wrong carton and i would speak to them about that, all dietry requirements, should be treated seriously, and children should be supervised at meal times to prevent these things happening.
If a child is coughing and then is sick, we often leave it to see if they are sick again, if they gag on a bit of food and then are sick, we also tend to let it go, but if randomly during the day for no reason a child is sick, they are sent home, whether they have had diahorra (spelling?)or not.