Man it's annoying that HN doesn't let you see context when replying.
1. Sally bought Anne a heifer, but not a dog.
3. Sally bought Anne a heifer, but it didn't produce any milk.
The other two adhere mostly to convention (I'm okay with #4).
I always favor this style because it's easier for the person you're trying to communicate with to understand you, and that's more important than really anything else.