Doughhead wrote:Why does a fly ball out that scores a run count as a sacrifice, but a ground ball that scores a run counts as an at bat?

Just one of baseball's many quirks or this there a legitimate reason for the difference?

Because players are allowed to/required to tag up after a catch. They are not after a ground out. By hitting a fly ball it is assumed the hitter is trying to hit a ball in the air deep enough for the runner to tag up and score. When you hit a ground ball, no assumption is made that the hitter is trying to do anything but hit the ball.