And now a real proof:
If all the weights are integers, then either all weights are even, or all weights are odd: If some were even and others odd, then we could remove a cow with an even weight, or a cow with an odd weight, and in one case the remaining cows would have an odd weight, and couldn't be divided into two groups of equal weight.
For all k ≥ 0, if all weights are $0 ≤ w < 2^k$, then all weights are equal: It is trivially true for k = 0 (because all weights must be zero). Assume all weights are $0 ≤ w < 2^{k+1}$: If the weights are all even, we examine 2n+1 cows with weights $w_i / 2$, if the weights are all odd, we examine 2n+1 cows with weights $(w_i - 1)/2$. By induction, these weights are all the same, so the w_i are all the same.
This proves the case if all weights are integers ≥ 0. If there are negative integers, and the smallest is w, then we examine 2n+1 cows with weights $w_i - w$. These weights are all ≥ 0, so all $w_i - w$ are equal, so all $w_i$ are equal.
If the weights are rational numbers, with the smallest common denominator equal to d, then we examine 2n+1 cows with weights $w_i * d$. Those weights are all integers, so all the $w_i * d$ are the same, so all the $w_i$ are the same.
If the weights of the cows are not all rational, then there is a smallest set of irrational numbers $r_1$ ... $r_k$ such that the weight $w_i$ of cow number i is the sum $c_{i0}+c_{i1}r_1+...+c_{ik}r_k$ for rational numbers $c_{ij}$. Then for every fixed j, we can examine 2n+1 cows with weights $c_{ij}$, so all $c_{ij}$ must be equal for fixed j, so the sums $c_{i0}+c_{i1}r_1+...+c_{ik}r_k$ must all be equal.